Austin Group Minutes of the 13 April Teleconference Austin-293 Page 1 of 1 Submitted by Andrew Josey, The Open Group. April 14, 2006 Attendees Andrew Josey, The Open Group Nick Stoughton, USENIX, ISO/IEC OR Mark Brown, IBM, TOG OR Ulrich Drepper, Red Hat Apologies: Don Cragun , Sun, PASC OR Action item review --------------------- ACTION AI-2006-02-04: Nick Stoughton to submit an aardvark against link() when the appropriate time is reached w.r.t. approval of strawman 2. STATUS: OPEN ACTION AI-2006-02-08: Andrew Josey to submit an aardvark against at, batch and crontab to make the directory used for the allow and deny files implementation defined. STATUS: OPEN (Andrew plans to get to this when he has completed his pass through SD5) ACTION AI-2006-02-24: DWC to contact Lowell to check electronic procedures etc for PAR approval by PASC-SEC. STATUS: OPEN Don reported he would contact Lowell April 6. ACTION AI-2006-02-28: AJ to filter the XSH, XCU and XRAT aardvarks for SD5 and interps material. STATUS: OPEN, ongoing in progress Austin/280r1 is the latest notes arising from SD5, when Andrew has completed his pass through the aardvark reports he will post an announcement to the reflector ACTION AI-2006-04-01: Nick Stoughton/Andrew Josey to send reports to SC22 prior to the Sep 2006 SC22 Plenary (due date: July 2006) STATUS: OPEN Defect Report Processing ------------------------- This weeks defect report handling session concentrated on the open interpretations where dissent has been recorded on the mailing list. The record of dissent is in Austin/288, and this session worked through the Austin Interpretations (AI) in that document: This is the update to Austin/288, several of these are updated this week based on feedback on the reflector. AI-047 (updated after last call) It was agreed to change the example code so that it takes the same approach as that shown on XCU command, Page 262, example 2: Change from: The following will preserve these environment variables as well as preserve the PATH for conforming utilities: env -i $(getconf V6_ENV) $(getconf PATH) command To: The following will preserve these environment variables as well as preserve the PATH for conforming utilities: IFS=' ' # The preceding value should be . # Set IFS to its default value. set -f # disable pathname expansion \unalias -a # Unset all possible aliases. # Note that unalias is escaped to prevent an alias # being used for unalias. # This step is not strictly necessary, since aliases are not inherited, # and the ENV environment variable is only used by interactive shells, # the only way any aliases can exist in a script is if it defines them # itself. unset -f env getconf # Ensure env and getconf are not user functions. env -i $(getconf V6_ENV) PATH="$(getconf PATH)" command AI-053 Replace the notes to the editor with the following changes: Mark the following functions obsolescent in the SYNOPSIS with the OB marker and shading: XSH page 123 asctime(), asctime_r() XSH page 248 ctime(), ctime_r() Add to change history for the above manual pages These functions are marked obsolescent. In XSH page 123 after line 4508, add: However, the behavior is undefined if timeptr->tm_wday or timeptr->tm_mon are not within the normal ranges as defined in , or if timeptr->tm_year exceeds INT_MAX - 1900, or if the above algorithm would attempt to generate more than 26 bytes of output (including the terminating null). In XSH page 123 line 4515, change from: (of the same form as that returned by asctime()) to: (of the same form as that returned by asctime(), and with the same undefined behavior when input or output is out of range) In XSH page 124 lines 4531-4533, remove: This function is included for compatibility with older implementations, and does not support localized date and time formats. Applications should use strftime() to achieve maximum portability. In XSH page 124 after line 4535 add: These functions are included only for compatibility with older implementations. They have undefined behavior if the resulting string would be too long, so the use of these functions should be discouraged. On implementations that do not detect output string length overflow, it is possible to overflow the output buffers in such a way as to cause applications to fail, or possible system security violations. Also, these functions do not support localized date and time formats. To avoid these problems, applications should use strftime() to generate strings from broken-down times. In XSH page 248 lines 190-192, remove: The ctime() function is included for compatibility with older implementations, and does not support localized date and time formats. Applications should use the strftime() function to achieve maximum portability. In XSH page 248 after line 8194 add the following text, which is identical to the proposed text added after page 124 line 4535: These functions are included only for compatibility with older implementations. They have undefined behavior if the resulting string would be too long, so the use of these functions should be discouraged. On implementations that do not detect output string length overflow, it is possible to overflow the output buffers in such a way as to cause applications to fail, or possible system security violations. Also, these functions do not support localized date and time formats. To avoid these problems, applications should use strftime() to generate strings from broken-down times. Add to RATIONALE for asctime(), ctime() replacing XXXXX with the function name The standards developers decided to mark the XXXXX() functions as obsolescent even though it is in the C Standard due to the possibility of buffer overflow. The C Standard also provides the strftime function which can be used to avoid these problems. AI-079 Topic: mmap() shared synchronization primitive Change the notes to the Editor to: Add a new paragraph after line 25808: The state of synchronization objects such as mutexes, semaphores, barriers, conditional variables placed in shared memory mapped with MAP_SHARED becomes undefined when the last region in any process containing the synchronization object is unmapped. AI-084 Topic: sigaction SA_RESTART Change the notes to the Editor to: On line 42554 insert before the sentence commencing "If the flag is..." If an interruptible function which uses a timeout is restarted, the duration of the timeout following the restart is set to an unspecified value that does not exceed the original timeout value. AI-092 Topic: sort, Utility Syntax Guideline 13 Replace the following notes to the editor: After XBD line 7240, add "Where a utility described in the Shell and Utilities volume of IEEE Std 1003.1-2001 as conforming to these guidelines accepts the operand - to mean standard input or output, this usage shall be explained in the OPERANDS section." with: After XBD line 7240, add: Where a utility described in the Shell and Utilities volume of IEEE Std 1003.1-2001 as conforming to these guidelines is required to accept the operand '-' to mean standard input or output, this usage is explained in the OPERANDS section. Otherwise, if such a utility uses operands to represent files, it is implementation-defined whether the operand '-' stands for standard input (or standard output), or for a file named "-". In XRAT page 75 on line 3074 Change from: "All information concerning actual treatment..." To: "In previous revisions of this standard all information concerning actual treatment..." Add to the end of line 3075: Many implementations however treated '-' as standard input or output and many applications depended on this behavior even though it was not standard. This behavior is now implementation-defined. Portable applications should not use '-' to mean standard input or output unless it is explicitly stated to do so in the utility description and they should always use './-' if they intend to refer to a file named '-' in the current workding directory. AI-099 Topic: df file operand Replace the suggested editors note : If the file operand names a file other than a special file containing a file system, df shall write the amount of free space in the file system containing the specified file operand. [XSI][Option Start] Otherwise, df shall write the amount of free space in that file system.[Option End] AI-100 Topic: tail -c 0, -n 0 The standard is unclear, no conformance distinction can be made between different implementations. Concerns are being forwarded to the sponsor. Rationale: ------------ The standard explicitly defines required behavior, except for tail -0f and tail -0 , which are unspecified. In particular, tail -n 0 and tail -f -n 0 are clearly specified. Implementations that treat tail -n 0 the same as tail -n +0 are not conforming. Notes to the editor, not part of this interpretation Add after the table. The application shall ensure that if the sign of the option-argument _number_ is '+' the "number" option-argument is a positive decimal integer. XBD ERN 48 fenv.h ------------------ Replacement solution Add to SD5 On page 226 fenv.h Change 7943 "shall define the following" to "shall define each of the following" After 7952 Add "[MX]If the implementation supports the IEC 60559 Floating-Point option, all five constants shall be defined. [/MX] Additional implementation-defined floating-point exceptions with constants beginning with FE_ and an uppercase letter may also specified by the implementation." Change 7956 "shall define the following" to "shall define each of the following" After 7963 Add "[MX]If the implementation supports the IEC 60559 Floating-Point option, all four constants shall be defined. [/MX] Additional implementation-defined rounding directions with constants beginning with FE_ and an uppercase letter may also specified by the implementation." After 7968 Add "Additional implementation-defined environments with constants beginning with FE_ and an uppercase letter, and having type pointer to const-qualified fenv_t, may also specified by the implementation." Related change in XSH page 16 add (*cross volume change*) after 597 Prefix column FE_[A-Z] Left open from the previous meeting to address next time: XCU ERN 22/23 awk OPEN XCU ERN 57 mv OPEN Next Steps ----------- Andrew will update the aardvark reports with the latest inbound defect reports. The next call will be 27th April irc://irc.freestandards.org/austin