Minutes of the 6th July 2017 Teleconference Austin-825 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 7th July 2017 Attendees: Don Cragun, IEEE PASC OR Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR Geoff Clare, The Open Group Joerg Schilling, FOKUS Fraunhofer David Clissold, IBM Eric Blake, Red Hat Andrew Josey, The Open Group Apologies: Richard Hansen, Google Mark Ziegast, SHware Systems Martin Rehak, Oracle, The Open Group OR * General news Andrew has submitted the draft for IEEE editorial coordination. A pdf preview is available in the SVN repository: https://svn.opengroup.org/websvn/listing.php?repname=POSIX&path=%2FBaseI7%2F2017+Rollup%2F * Outstanding actions ( Please note that this section has been flushed to shorten the minutes - to locate the previous set of outstanding actions, look to the minutes from 28 Jan 2016) Bug 0000249: Add standard support for $'...' in shell Reopened http://austingroupbugs.net/bug_view_page.php?bug_id=249 We will return to bug 249 on a future call. Bug 0000953: Alias expansion is under-specified Was Accepted as Marked http://austingroupbugs.net/view.php?id=953 Richard has an action to propose new wording to discuss in a future telecon. * Current Business Bug 1045 had a comment during its interpretation review. We believe the current resolution is OK. A new bug report covering the problem mentioned may be reported and resolved at a later date. Andrew took an action to approve the interpretation - completed after the meeting. Bug 1041: Encourage implementations to include better integrity checksum, compression and decompression utilities if possible. OPEN http://austingroupbugs.net/view.php?id=1041 The bug has its own page in the etherpad: http://posix.rhansen.org:9001/p/bug1041 We will pick up on this next week. Bug 1053: Add a "size" mode to stty(1) OPEN http://austingroupbugs.net/view.php?id=1053 This remains open. Bug 1054: stdio.h doesn't allow FILE to be opaque? Accept as Marked http://austingroupbugs.net/bug_view_page.php?bug_id=1054 This item is tagged for Issue 8 Make the change suggested in the Desired Action and also add new paragraph in the Application Usage section after P357, L12184: Since the latest revision of the C Standard allows FILE to be an incomplete type (and POSIX also allows it), portable applications can no longer allocate or copy an object of type FILE; only pointers to objects of type FILE can be allocated. Bug 1055: unspecified how much is parsed before execution begins Accept as Marked http://austingroupbugs.net/bug_view_page.php?bug_id=1055 This item is tagged for Issue 8 On page 2322 after line 73689 (just before XCU 2.3.1 Alias Substitution), insert a new paragraph: Once a complete_command symbol has been recognized by the grammar (see [xref to 2.10 Shell Grammar]), the complete_command shall be subjected to alias substitution (see [xref to 2.3.1 Alias Substitution]) then executed before the next complete_command is tokenized and parsed. On page 2322 lines 73691-73693 (XCU 2.3.1 Alias Substitution), change: After a token has been delimited, but before applying the grammatical rules in Section 2.10, a resulting word that is identified to be the command name word of a simple command shall be examined to determine whether it is an unquoted, valid alias name. to: After a sequeunce of tokens has been parsed and recognized as a command or compound list by the grammar (see [xref to 2.10 Shell Grammar]), but before the command or compound list is executed, each word that is identified to be the command name word of a simple command shall be examined to determine whether it is an unquoted, valid alias name. On page 2331 line 74073 (XCU 2.6.3 Command Substitution), add a new sentence at the end of the paragraph at lines 74067-74073: After backslashes have been processed, the characters in command shall be tokenized (see [xref to XCU 2.3 Token Recognition]), then parsed as a single compound_list (see [xref to XCU 2.10 Shell Grammar]), then subjected to alias substitution (see [xref to 2.3.1]), then executed. On page 2331 line 74076 (XCU 2.6.3 Command Substitution), add a new sentence at the end of the paragraph at lines 74074-74076: The characters in command shall be tokenized (see [xref to XCU 2.3 Token Recognition]), then parsed as a single compound_list (see [xref to XCU 2.10 Shell Grammar]), then subjected to alias substitution (see [xref to 2.3.1]), then executed. On page 2325 lines 73782-73785 (XCU 2.5.3 Shell Variables, ENV) change: This variable, when and only when an interactive shell is invoked, shall be subjected to parameter expansion (see Section 2.6.2) by the shell and the resulting value shall be used as a pathname of a file containing shell commands to execute in the current environment. to: This variable, when and only when an interactive shell is invoked, shall be subjected to parameter expansion (see Section 2.6.2) by the shell and the resulting value shall be used as a pathname of a file. Before any interactive commands are read, the contents of the file shall be tokenized, parsed, subjected to alias expansion, and executed as described in [xref to 2.3 Token Recognition]. The contents shall be executed in the current environment. On page 2364 line 75304 (XCU 2.14 dot DESCRIPTION), change: The shell shall execute commands from the file in the current environment. to: The contents of file shall be tokenized (see [xref to XCU 2.3 Token Recognition]), then parsed as a single compound_list (see [xref to XCU 2.10 Shell Grammar]), then subjected to alias substitution (see [xref to 2.3.1]), then executed in the current environment. On page 2366 line 75371 (XCU 2.14 eval), change: The constructed command shall be read and executed by the shell. to: The constructed command shall be tokenized (see [xref to XCU 2.3 Token Recognition]), then parsed as a single compound_list (see [xref to XCU 2.10 Shell Grammar]), then subjected to alias substitution (see [xref to 2.3.1]), then executed in the current environment. On page 2350 after line 74800 (XCU 2.10.2 Shell Grammar Rules), insert the following comment above %start: /* The start symbol is compound_list when parsing dot scripts, command substitution bodies, and the arguments passed to eval */ On page 3678 after line 125707 (just before XRAT C.2.3.1), insert a new paragraph: Because a complete_command is executed before the next complete_command is tokenized and parsed, syntax errors are not discovered by the shell until just before the code would be executed. While in some cases it might be desirable to detect and react to syntax errors before anything is executed, deferring the discovery of syntax errors has several benefits: It makes it possible for script authors to test for the avilability of a nonstandard extension and react appropriately before the use of the extension would trigger a syntax error. It makes it possible to create self-extracting tarballs (a shell script concatenated with a payload archive that extracts the archive when executed). The shell does not have to read and parse the complete script before execution, which reduces memory usage when executing extremely long scripts. On page 3681 lines 125831-125832 (XRAT C.2.5.3 ENV) change: However, unlike dot scripts, no PATH searching is performed. This is used as a guard against Trojan Horse security breaches. to: However, unlike dot scripts, ENV scripts are parsed as a program, not a compound_list. This distinction matters because it influences when aliases take effect and whether syntax errors in the script are discovered before any part of the script is executed. For security reasons, PATH is not searched when locating the ENV script. Bug 1056: CMSG_NXTHDR(): under what criteria may NULL be returned? OPEN http://austingroupbugs.net/bug_view_page.php?bug_id=1056 This item will be discussed next time Next Steps ---------- The next call is on July 13th, 2017 (a Thursday) Calls are anchored on US time. (8am Pacific) This call will be for the regular 90 minutes. http://austingroupbugs.net An IRC channel will be available for the meeting irc://irc.freenode.net/austingroupbugs An etherpad is usually up for the meeting, with a URL using the date format as below: https://posix@posix.rhansen.org/p/201x-mm-dd password=2115756#