home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.31 < prev    next >
Internet Message Format  |  1993-07-15  |  358KB

  1. From std-unix-request@uunet.UU.NET  Thu Mar 11 14:25:05 1993
  2. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3.     (5.61/UUNET-mail-drop) id AA12761; Thu, 11 Mar 93 14:25:05 -0500
  4. Received: from kithrup.com by relay1.UU.NET with SMTP 
  5.     (5.61/UUNET-internet-primary) id AA16374; Thu, 11 Mar 93 14:24:27 -0500
  6. From: Sean Eric Fagan <sef@uunet.uu.net>
  7. Newsgroups: comp.std.unix
  8. Subject: Policy and Guidelines for comp.std.unix
  9. Organization: UUNET Communications Services
  10. Message-Id: <1no38eINNo31@ftp.UU.NET>
  11. Nntp-Posting-Host: ftp.uu.net
  12. X-Submissions: std-unix@uunet.uu.net
  13. Xref: uunet comp.std.unix:2002
  14. Date: 11 Mar 1993 11:17:34 -0800
  15. Reply-To: std-unix@uunet.uu.net
  16. To: std-unix@uunet.UU.NET
  17. Sender: Network News <news@kithrup.com>
  18. Source-Info:  From (or Sender) name not authenticated.
  19.  
  20. Submitted-by: sef@uunet.uu.net (Sean Eric Fagan)
  21.  
  22. This is a policy statement for comp.std.unix.
  23.  
  24. This is Volume 31 of comp.std.unix.
  25. These volumes are purely for administrative convenience.
  26. Feel free to continue any previous discussion or to start new ones.
  27.  
  28. Subject: Topic.
  29.  
  30. The USENET newsgroup comp.std.unix, also known as the mailing list
  31. std-unix@uunet.uu.net, is for discussions of standards related to
  32. the UNIX operating system, particularly of IEEE P1003, or POSIX,
  33. including IEEE 1003.1, 1003.2, etc.
  34.  
  35. Other related standards bodies and subjects include but are not limited to
  36.     IEEE 1201 and IEEE 1238,
  37.     ISO/IEC JTC1 SC22 WG15 (the ISO and IEC version of POSIX),
  38.     the U.S. and other Technical Advisory Groups (TAGs) to WG15,
  39.     the X3.159 Programming Language C Standard by the ANSI X3J11 committee,
  40.     ISO/IEC JTC1 SC22 WG14 (the ISO and IEC version of X3.159),
  41.     ANSI X3J16 on the C++ programming language,
  42.     ANSI X3B11.1 on WORM File Systems,
  43.     the National Institute of Standards and Technology (NIST),
  44.     and their Federal Information Processing Standards (FIPS),
  45.     X/Open and their X/Open Portability Guide (XPG),
  46.     the Open Software Foundation (OSF),
  47.     UNIX International (UI),
  48.     the UniForum Technical Committee,
  49.     the AFUU Working Groups,
  50.     PortSoft,
  51.     AT&T System V Interface Definition (SVID),
  52.     System V Release 3, System V Release 4,
  53.     4.2BSD, 4.3BSD, 4.4BSD,
  54.     Tenth Edition UNIX, Plan 9 from Bell Labs,
  55.     Mach, Chorus, Amoeba, GNU,
  56.     and the USENIX Standards Watchdog Committee.
  57.  
  58. Subject: Moderator.
  59.  
  60. The newsgroup comp.std.unix and the mailing list std-unix@uunet.uu.net
  61. is moderated.  The moderator is Sean Eric Fagan.
  62.  
  63. Subject: Disclaimer.
  64.  
  65. Postings by any committee member in this newsgroup do not represent 
  66. any position (including any draft, proposed or actual, of a standard) 
  67. of the committee as a whole or of any subcommittee unless explicitly 
  68. stated otherwise in such remarks.  Postings and comments by the moderator
  69. do not necessarily reflect any person's or organization's opinions.
  70.  
  71. * UNIX is a Registered Trademark of USL.
  72. ** IEEE is a Trademark of the Institute for Electrical and Electronics
  73.     Engineers, Inc.
  74. *** POSIX is not a trademark.
  75. Various other names mentioned above may be trademarks.
  76. I hope their owners will not object if I do not list them all here.
  77.  
  78.  
  79. Subject: Postings.
  80.  
  81. Submissions for posting to the newsgroup and comments about the newsgroup
  82. (including requests to subscribe or unsubscribe to the mailing list)
  83. should go to two different addresses:
  84.  
  85.         DNS address            UUCP source route
  86. Submissions    std-unix@uunet.uu.net        uunet!std-unix
  87. Comments    std-unix-request@uunet.uu.net    uunet!std-unix-request
  88.  
  89. In addition to those addresses, I can be reached (electronically) as sef at
  90. either uunet.uu.net, kithrup.com, or cygnus.com (e.g., sef@kithrup.COM).  If
  91. you get a bounce from one of those addresses, or do not get a reply within a
  92. week, send mail to one or more of the others.  For submissions, I prefer
  93. std-unix@uunet.uu.net, as that is where I do the list maintenance.
  94. Permission to post to the newsgroup is assumed for mail to std-unix.
  95. Permission to post is not assumed for mail to std-unix-request,
  96. unless explicitly granted in the mail.  Mail to my personal addresses
  97. will be treated like mail to std-unix-request if it obviously refers
  98. to the newsgroup.
  99.  
  100. The mailing list is distributed on the Internet, UUCP, and elsewhere.
  101. There is a redistribution list on BITNET for BITNET, EARN, and NetNorth.
  102. Please send submissions from those networks to std-unix@uunet.uu.net
  103. nonetheless, because messages sent to the BITNET LISTSERV will not reach
  104. the whole list.
  105.  
  106. If you have access to USENET, it is better (more efficient, cheaper,
  107. less effort for me to manage) to subscribe to the newsgroup comp.std.unix
  108. than to the mailing list.  Submissions should still go to the above
  109. addresses, although many (perhaps most) USENET hosts will forward
  110. attempts to post directly to the newsgroup to the moderator.
  111.  
  112. If you are on the mailing list, and articles are bounced back to me from
  113. your address, you will be deleted from the list, and I will attempt to
  114. get in touch with the administrator for your site, or what looks like your
  115. site, and will reinstate your presence on the list when the problem is
  116. fixed.
  117.  
  118. Posted articles may originate from uunet.uu.net, kithrup.com, or cygnus.com.
  119. There are also occasional guest moderators, who may post from still other 
  120. machines.  Guest moderators are announced in advance by the regular moderator.
  121.  
  122. Subject: Archives.
  123.  
  124. Archives for comp.std.unix or std-unix@uunet.uu.net may be found on UUNET.
  125. Most of them are compressed, so if you don't have compress, get it first
  126. (it's in the comp.sources.unix archives).
  127.  
  128. The comp.std.unix archives may be retrieved by anonymous FTP over the Internet.
  129. Connect to ftp.uu.net with FTP and log in as user anonymous with password
  130. guest.
  131.  
  132. The current volume is in the file
  133.         ~ftp/usenet/comp.std.unix/archive
  134. or
  135.         ~ftp/usenet/comp.std.unix/volume.31
  136. The previous volume, which is compressed, may be retrieved as 
  137.         ~ftp/usenet/comp.std.unix/volume.30.Z
  138. and so forth for more ancient volumes.
  139.  
  140. For hosts with direct UUCP connections to UUNET, UUCP transfer from
  141. host uunet should work with, for example,
  142.         uucp uunet!'~ftp/usenet/comp.std.unix/archive' archive
  143. You will have to put a backslash before the ! (i.e., \!)
  144. if you're using the C shell or bash.
  145.  
  146. The output of "cd ~ftp/usenet/comp.std.unix; ls -l" is in
  147.         ~ftp/usenet/comp.std.unix/list
  148. and the output of "cd ~ftp/usenet/comp.std.unix; ls -l *" is in
  149.         ~ftp/usenet/comp.std.unix/longlist
  150.  
  151. These files are updated rather sporadically; essentially, whenever
  152. I come across this section at the beginning of each volume.
  153.  
  154. For further details, retrieve the file
  155.         ~ftp/usenet/comp.std.unix/README
  156.  
  157.  
  158. Subject: General submission acceptance policy.
  159.  
  160. Submissions are never ignored (although they might be overlooked).
  161. If you don't see your article posted and you don't get a mailed
  162. response from the moderator, your submission probably didn't arrive.
  163. However, travel schedules and other business sometimes intervene
  164. (and for that matter it can take many hours for a submission to
  165. get to the moderator and the posted message to get back to the poster),
  166. so you may sometimes not see anything for a few days.  If you wait
  167. and still don't see anything, try sending again.
  168.  
  169. As moderator, I reject relatively few articles:  maybe 1 out of 10;
  170. although that amount varies, it is a good rough estimate.  I retain the
  171. right to reject submissions.  If a submission does not appear relevant
  172. to comp.std.unix, it is sent back to the submitter with a note saying
  173. why it is not appropriate.  Usually this is because it just doesn't fit
  174. the topic of the newsgroup, in which case I suggest another newsgroup.
  175. Sometimes it is because someone else has already given the same answer
  176. to a question, in which case I ask if the submitter really wants it
  177. posted.  Occasionally I suggest editing that would make an article more
  178. appropriate to the newsgroup.  If a message appears to be directed
  179. towards me, I will reply; if I am unsure, I wil ask the sender if
  180. posting is really necessary or desired.
  181.  
  182. Very occasionally I may reject an article outright:  this will most likely
  183. be because it contains ad hominem attacks, which are never permitted
  184. in this technical newsgroup.  There are many other potential reasons
  185. for rejection, however, such as inclusion of copyrighted material.
  186. Fortunately, most such problems have not come up.
  187.  
  188. Note that while technical postings on technical subjects are encouraged,
  189. postings about the politics of standardization are also appropriate,
  190. since it is impossible to separate politics from standards.
  191.  
  192. Crosspostings are discouraged.  Submissions such as ``how do I find
  193. xyz piece of software'' or ``is the x implementation better than the
  194. y implementation'' that come in for multiple newsgroups usually get
  195. sent back to the submittor with a suggestion to resubmit without
  196. comp.std.unix in the Newsgroups: line.  Sometimes I'll crosspost if
  197. there's clear relevance to comp.std.unix, but I always add a
  198. Followup-To: line in an attempt to direct further discussion to a
  199. single newsgroup, usually comp.std.unix.  This policy is useful because
  200. crossposting often produces verbose traffic of little relevance to
  201. comp.std.unix.  The most common response from me when I reject a submission
  202. is to suggest that it belongs better elsewhere, usually some vendor-,
  203. machine-, or operating system-specific newsgroup.
  204.  
  205.  
  206.  
  207. Subject: Editorial policy.
  208.  
  209. When posting a submission, I sometimes make changes to it.  These
  210. are of four types:  headers and trailers; comments; and typographical.
  211.  
  212. Headers and trailers
  213.  
  214. Header changes include:
  215. + Cleaning up typos, particularly in Subject: lines.
  216. + Rationalizing From: lines to contain only one address syntax,
  217.     either hosta!hostb!host!user or, preferably, user@domain.
  218.     Very occasionally, this might cause an improper address
  219.     to be generated.  If this occurs, and you think you may
  220.     submit an article again, send me a note, and I will attempt
  221.     to use an address you suggest next time.
  222. + Adding a Reply-To: line.  This usually points to the newsgroup
  223.     submission address in the mailing list, but to the submitter
  224.     in the newsgroup, for reasons too messy to detail here.
  225. + Adding the Approved: line.
  226. + Deleting any Distribution: line, as detailed in the next paragraph.
  227.  
  228. The only distribution used in comp.std.unix is no distribution, i.e.,
  229. worldwide.  If it's not of worldwide interest, it doesn't belong in
  230. comp.std.unix.  Anything pertaining to the IEEE/CS TCOS standards
  231. or committees (e.g., IEEE 1003, IEEE 1201), the ANSI X3.159 Programming
  232. Language C Standard (X3J11), or the ISO 9945 POSIX work (ISO/IEC JTC1
  233. SC22 WG15) is of worldwide interest.  If a submission arrives with a
  234. Distribution:  line, such as na or us, I delete that line.
  235.  
  236. Every article has a trailing line of the form
  237. >    Volume-Number: Volume 22, Number 42
  238. This allows the reader to notice articles lost in transmission and
  239. permits the moderator to more easily catalog articles in the archives.
  240. Volumes usually change after about 100 articles, but are purely for
  241. administrative convenience; discussions begun in one volume should
  242. be continued into the next volume.  Due to the way news is transmitted,
  243. articles may appear out of order at some sites if I send out several
  244. at once.
  245.  
  246. Also, signatures that are excessively long may be truncated.  See
  247. Gene Spafford's articles in news.announce.newusers for guidelines on
  248. signatures.
  249.  
  250.  
  251.  
  252. Subject: Comments
  253.  
  254. Comments by the moderator are sometimes added to clarify obscure
  255. issues.  These are always enclosed in square brackets with the
  256. closing mark ``-mod,'' [ like this -mod ].  Sometimes entire articles
  257. appear that are written by the moderator:  these always end with
  258. a signature that includes the words ``moderator, comp.std.unix.''
  259.  
  260. Comments by the editor of the USENIX Standards Watchdog Reports
  261. sometimes appear in those reports.  Such comments are always
  262. enclosed in square brackets and begin with the word ``Editor:''
  263. [ Editor: like this ].
  264.  
  265. Comments by the publisher of the USENIX Standards Watchdog Reports
  266. sometimes appear in those reports.  Such comments are always
  267. enclosed in square brackets and end with the mark ``-pub,''
  268. [ like this -pub ].
  269.  
  270. Entire articles may appear by the editor or publisher of the
  271. Watchdog Reports, and those are always identified by the signature.
  272.  
  273. Subject: Typographical
  274.  
  275. People submitting articles sometimes enclose parenthetical comments
  276. in brackets [] instead of parentheses ().  I usually change these
  277. to parentheses to avoid confusion with the above conventions for
  278. comments by the moderator, editor, or publisher.
  279.  
  280. Obvious misspellings, such as ``it's'' for the possessive or
  281. ``its'' as a contraction of ``it is'' are corrected (when I notice them).
  282.  
  283. Excess white space is deleted.  (This includes multiple blank lines at 
  284. times.)
  285.  
  286. I don't have any reallly strict policies on formatting, but, in general,
  287. if an article has overly-long lines, or the author has right-justified
  288. the margins, I will run it through fmt(1) before posting it.  See
  289. Gene Spafford's articles in news.announce.newusers for guidelines on
  290. formatting of news articles.
  291.  
  292. Redundant quoted headers are often omitted.
  293.  
  294. Very long quotations of previous articles are sometimes shortened, and
  295. ``standard'' inclusions indicators of '>' are replaced, if the author
  296. has used some other form.
  297.  
  298.  
  299.  
  300. Subject: Common kinds of postings.
  301.  
  302. There are several sets of postings that reoccur in comp.std.unix
  303. at more or less regular intervals.  Here are three of the most common.
  304.  
  305. Calendar of UNIX-Related Events
  306.  
  307. Susanne W. Smith <sws@calvin.wa.com> of Windsound Consulting of Edmonds,
  308. Washington and John S. Quarterman <jsq@tic.com> of Texas Internet Consulting
  309. (TIC) of Austin, Texas publish a combined calendar of planned conferences,
  310. workshops, or standards meetings related to the UNIX operating system.
  311. These appear about every other month in four articles with these titles:
  312.     Calendar of UNIX-related Events
  313.     Access to UNIX User Groups
  314.     Access to UNIX-Related Publications
  315.     Access to UNIX-Related Standards
  316. The first three are posted to
  317.     comp.std.unix,comp.unix.questions,comp.org.usenix
  318. The one about standards is posted only to comp.std.unix.
  319.  
  320. These calendar postings are a private project of Windsound and TIC,
  321. although they are coordinated with various groups such as USENIX, EUUG,
  322. AUUG, JUS, UniForum, and IEEE TCOS.  Smith and Quarterman encourage
  323. others to reuse this information, but ask for proper acknowledgment.
  324.  
  325. USENIX Standards Watchdog Reports
  326.  
  327. The USENIX Association sponsors a set of reports after each quarterly
  328. meeting of the IEEE 1003 and IEEE 1201 standards committees.  These
  329. reports are written by volunteers who are already attending committee
  330. meetings and are edited by the Watchdog Report Editor, who is Stephen
  331. E. Walli <stephe@mks.com>.  Reports on other committees, such as X3J11,
  332. are also included when available.  These reports are published in
  333. comp.std.unix/std-unix@uunet.uu.net and ;login:  The Newsletter of the
  334. USENIX Association.  They are also available for publication elsewhere.
  335.  
  336. EUUG/USENIX ISO Monitor Project
  337.  
  338. The European UNIX systems Users Group (EUUG) and the USENIX Association
  339. jointly sponsor an observer to the ISO/IEC JTC1 SC22 WG15 (ISO POSIX)
  340. standards committee.  This observer, Dominic Dunlop <domo@tsa.co.uk>,
  341. writes a report after each WG15 meeting, of which there are usually
  342. two a year.  These reports are published in the EUUG Newsletter
  343. (EUUGN), :login;, and comp.std.unix.  They are also available for
  344. publication elsewhere.
  345.  
  346. Archives of the EUUG/USENIX ISO Monitor Reports, the USENIX Standards
  347. Watchdog Reports, and the Windsound/TIC Calendar of UNIX-Related Events
  348. may be found on uunet.uu.net.  Retrieve ~ftp/usenet/comp.std.unix/README 
  349. for details.
  350.  
  351. Sean Eric Fagan, moderator, comp.std.unix and std-unix@uunet.uu.net.
  352.  
  353.  
  354. Volume-Number: Volume 31, Number 1
  355.  
  356. From std-unix-request@uunet.UU.NET  Thu Mar 11 16:38:07 1993
  357. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  358.     (5.61/UUNET-mail-drop) id AA24452; Thu, 11 Mar 93 16:38:07 -0500
  359. Received: from kithrup.com by relay1.UU.NET with SMTP 
  360.     (5.61/UUNET-internet-primary) id AA08894; Thu, 11 Mar 93 16:37:57 -0500
  361. From: Roger Collins <rcollins@encore.com>
  362. Newsgroups: comp.std.unix
  363. Subject: Re: Conflict between .1 and .4a?
  364. Organization: Encore Computer Corporation
  365. Message-Id: <1no7m4INNjp@ftp.UU.NET>
  366. References: <1nlfm6INN1ia@ftp.UU.NET>
  367. Nntp-Posting-Host: ftp.uu.net
  368. X-Submissions: std-unix@uunet.uu.net
  369. Xref: uunet comp.std.unix:2005
  370. Date: 11 Mar 1993 12:33:08 -0800
  371. Reply-To: std-unix@uunet.uu.net
  372. To: std-unix@uunet.UU.NET
  373. Sender: Network News <news@kithrup.com>
  374. Source-Info:  From (or Sender) name not authenticated.
  375.  
  376. Submitted-by: rcollins@encore.com (Roger Collins)
  377.  
  378. wulkan@vnet.ibm.com (Mike Wulkan) writes:
  379. >In .1 section 3.3.1.2 it says:
  380. >  "If the action associated with a blocked signal is anything other
  381. >  than to ignore the signal, and if that signal is generated for the
  382. >  process, the signal shall remain pending until either it is unblocked
  383. >  or the action associated with it is set to ignore the signal."
  384. >To me this implies that a synchronous signal, such as a hardware fault,
  385. >would not be held pending if it is blocked, because it was not generated
  386. >for the process.
  387.  
  388. I disagree.  In .1 there is no concept of thread, so any signal to that
  389. thread or process is "for the process."
  390.  
  391. >However in .4a 8.3.3.2 it says:
  392.  
  393. >  "Signals which are generated by some action attributable to a particular
  394. >  thread, such as a hardware fault, shall be delivered to the thread that
  395. >  caused the signal to be generated."
  396. >  ...
  397. >  "If the receiving thread has blocked delivery of the signal, the
  398. >  signal remains pending on the thread until the thread unblocks
  399. >  delivery of the signal or the action associated with the signal is
  400. >  set to ignore the signal."
  401. >.4a seems to have disregarded the difference between an asynchronous
  402. >pthread_kill() and a synchronous signal, such as a hardware fault.
  403.  
  404. Yes, I'll agree with this.
  405.  
  406. >Unless I'm missing something, it would seem that .1 and .4a are
  407. >incompatible with regards to keeping or not keeping synchronously
  408. >generated (blocked) signals pending.
  409.  
  410. No, I think it is consistent when you allow for the loose usage of
  411. process in .1 because there is no thread concept in that standard.
  412. Synchronous and asynchronous signals should stay pending (until blah
  413. blah blah).
  414.  
  415. >Can someone tell me what the "correct" interpretation is?
  416.  
  417. That's *my* interpretation -- better than correct. :)
  418.  
  419. Roger Collins
  420.  
  421.  
  422. Volume-Number: Volume 31, Number 4
  423.  
  424. From std-unix-request@uunet.UU.NET  Thu Mar 11 16:38:08 1993
  425. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  426.     (5.61/UUNET-mail-drop) id AA24457; Thu, 11 Mar 93 16:38:08 -0500
  427. Received: from kithrup.com by relay1.UU.NET with SMTP 
  428.     (5.61/UUNET-internet-primary) id AA08896; Thu, 11 Mar 93 16:37:59 -0500
  429. From: Hal Jespersen <hlj@posix.com>
  430. Newsgroups: comp.std.unix
  431. Subject: Re: Posix.2
  432. Organization: POSIX Software Group, Redwood City, CA
  433. Message-Id: <1no7ijINNee@ftp.UU.NET>
  434. References: <1nlfduINN10l@ftp.UU.NET>
  435. Nntp-Posting-Host: ftp.uu.net
  436. X-Submissions: std-unix@uunet.uu.net
  437. Xref: uunet comp.std.unix:2004
  438. Date: 11 Mar 1993 12:31:15 -0800
  439. Reply-To: std-unix@uunet.uu.net
  440. To: std-unix@uunet.UU.NET
  441. Sender: Network News <news@kithrup.com>
  442. Source-Info:  From (or Sender) name not authenticated.
  443.  
  444. Submitted-by: hlj@posix.COM (Hal Jespersen)
  445.  
  446. jsh@canary.com (Jeffrey S. Haemer) writes:
  447. >David Rowley <david@mks.com> reports on the January 11-15
  448. >meeting in New Orleans, Louisiana:
  449. >
  450. >POSIX.2 is equivalent to    the International Standards
  451. >Organization's ISO DIS 9945-2 --    the second volume of the
  452. >proposed    ISO three-volume POSIX standard.
  453.  
  454. Actually, for you technical editing groupies out there, I have proposed
  455. to WG15 that we leave 9945 as two volumes--system API and shell & utilities--
  456. and start a new ISO number for system admin (POSIX.7).  That new number
  457. will be in multiple parts (xxxx-1, xxxx-2, etc.), corresponding to the
  458. multiple parts of 1003.7.  This generated no opposition in October and I
  459. have not received negative feedback from any of the national bodies, so
  460. I assume we will approve this in May.
  461.  
  462. Hal Jespersen
  463. WG15 Project Editor
  464.  
  465. Volume-Number: Volume 31, Number 3
  466.  
  467. From std-unix-request@uunet.UU.NET  Thu Mar 11 16:38:17 1993
  468. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  469.     (5.61/UUNET-mail-drop) id AA24467; Thu, 11 Mar 93 16:38:17 -0500
  470. Received: from kithrup.com by relay1.UU.NET with SMTP 
  471.     (5.61/UUNET-internet-primary) id AA08944; Thu, 11 Mar 93 16:38:05 -0500
  472. From: Simon Patience <sp@osf.org>
  473. Newsgroups: comp.std.unix
  474. Subject: Re: Conflict between .1 and .4a?
  475. Organization: Open Software Foundation
  476. Message-Id: <1no7olINNnr@ftp.UU.NET>
  477. References: <1nlfm6INN1ia@ftp.UU.NET> <1nlfm6INN1ia@ftp.UU.NET>,
  478. Nntp-Posting-Host: ftp.uu.net
  479. X-Submissions: std-unix@uunet.uu.net
  480. Xref: uunet comp.std.unix:2006
  481. Date: 11 Mar 1993 12:34:29 -0800
  482. Reply-To: std-unix@uunet.uu.net
  483. To: std-unix@uunet.UU.NET
  484. Sender: Network News <news@kithrup.com>
  485. Source-Info:  From (or Sender) name not authenticated.
  486.  
  487. Submitted-by: sp@osf.org (Simon Patience)
  488.  
  489. In article <1nlfm6INN1ia@ftp.UU.NET>, wulkan@vnet.ibm.com (Mike Wulkan) writes:
  490. >Unless I'm missing something, it would seem that .1 and .4a are
  491. >incompatible with regards to keeping or not keeping synchronously
  492. >generated (blocked) signals pending.
  493. >Can someone tell me what the "correct" interpretation is?
  494.  
  495. I think the problem is that lines you first quote above are not as clear 
  496. as they could be. The "shall be delivered to the thread that caused the 
  497. signal to be generated" means immediately, regardless of the blocking 
  498. state etc, as in .1. There was no intention in .4a to change any of the 
  499. synchronously generated signal semantics from what is specified in .1.
  500. The second paragraph is only intended to be relevant to signals
  501. asynchronously generated, eg using pthread_kill() or alarm().
  502.  
  503. Simon.
  504.  
  505. -- 
  506. Open Software Foundation            Phone: +33-76-63-48-72
  507. Research Institute                FAX:   +33-76-51-05-32
  508. 2 Avenue De Vignate                Email: sp@gr.osf.org
  509. 38610 Gieres, France                       uunet!gr.osf.org!sp
  510.  
  511.  
  512. Volume-Number: Volume 31, Number 5
  513.  
  514. From std-unix-request@uunet.UU.NET  Thu Mar 11 16:38:28 1993
  515. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  516.     (5.61/UUNET-mail-drop) id AA24482; Thu, 11 Mar 93 16:38:28 -0500
  517. Received: from kithrup.com by relay1.UU.NET with SMTP 
  518.     (5.61/UUNET-internet-primary) id AA09006; Thu, 11 Mar 93 16:38:13 -0500
  519. From: peter da silva <peter@ferranti.com>
  520. Newsgroups: comp.std.unix
  521. Subject: Re: Even Good Test Method Standards are Harmful
  522. Organization: Xenix Support, FICC
  523. Message-Id: <1no7eqINN7f@ftp.UU.NET>
  524. References: <1n4auaINNr3a@ftp.UU.NET> <1nja8cINNc45@ftp.UU.NET>
  525. Nntp-Posting-Host: ftp.uu.net
  526. Keywords: test method
  527. X-Submissions: std-unix@uunet.uu.net
  528. Xref: uunet comp.std.unix:2003
  529. Date: 11 Mar 1993 12:29:14 -0800
  530. Reply-To: std-unix@uunet.uu.net
  531. To: std-unix@uunet.UU.NET
  532. Sender: Network News <news@kithrup.com>
  533. Source-Info:  From (or Sender) name not authenticated.
  534.  
  535. Submitted-by: peter@ferranti.com (peter da silva)
  536.  
  537. In article <1nja8cINNc45@ftp.UU.NET> jeffrey@netcom.com (Jeffrey Kegler)
  538. writes a lot of good stuff about test-methods.
  539.  
  540. And lest anyone think he's crying wolf, the crippled POSIX subsystem
  541. described in Windows NT literature should be enough to show otherwise.
  542. But if that's not enough, I've run into situations where a vendor has
  543. implemented a device driver in such a way that some features are totally
  544. useless, and refused to fix them because they still conformed to the
  545. SVID. For example, a serial driver that would not let you raise DTR
  546. after dropping it, either by closing it and reopening or by setting
  547. B0 and then B2400, since the SVID didn't specify that you be able to
  548. raise DTR again except by doing a "first open" with no control terminal.
  549.  
  550. The technical people at this vendor agreed the implementation was broken,
  551. but weren't allowed to fix it because the SVID didn't explicitly say
  552. that anything else was required.
  553.  
  554. -- 
  555. Peter da Silva                                            `-_-'
  556. Ferranti International Controls Corporation                'U` 
  557. Sugar Land, TX  77487-5012 USA
  558. +1 713 274 5180                            "Zure otsoa besarkatu al duzu gaur?"
  559.  
  560. Volume-Number: Volume 31, Number 2
  561.  
  562. From std-unix-request@uunet.UU.NET  Thu Mar 11 16:38:30 1993
  563. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  564.     (5.61/UUNET-mail-drop) id AA24489; Thu, 11 Mar 93 16:38:30 -0500
  565. Received: from kithrup.com by relay1.UU.NET with SMTP 
  566.     (5.61/UUNET-internet-primary) id AA09036; Thu, 11 Mar 93 16:38:18 -0500
  567. From: Roger Collins <rcollins@encore.com>
  568. Newsgroups: comp.std.unix
  569. Subject: POSIX .4 signals
  570. Organization: Encore Computer Corporation
  571. Message-Id: <1no7q3INNqs@ftp.UU.NET>
  572. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET>
  573. Reply-To: rcollins@encore.com
  574. Nntp-Posting-Host: ftp.uu.net
  575. X-Submissions: std-unix@uunet.uu.net
  576. Xref: uunet comp.std.unix:2007
  577. Date: 11 Mar 1993 12:35:15 -0800
  578. To: std-unix@uunet.UU.NET
  579. Sender: Network News <news@kithrup.com>
  580. Source-Info:  From (or Sender) name not authenticated.
  581.  
  582. Submitted-by: rcollins@encore.com (Roger Collins)
  583.  
  584. Do signals preempt a user's signal handler?
  585.  
  586. In other words, you're in a user signal handler, a signal is delivered
  587. which is caught and unblocked, does it preempt the currently running
  588. signal handler to run the signal handler for the new signal?  if it
  589. is a lower numbered signal?
  590.  
  591.  
  592. Volume-Number: Volume 31, Number 6
  593.  
  594. From std-unix-request@uunet.UU.NET  Fri Mar 12 17:05:14 1993
  595. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  596.     (5.61/UUNET-mail-drop) id AA10341; Fri, 12 Mar 93 17:05:14 -0500
  597. Received: from kithrup.com by relay1.UU.NET with SMTP 
  598.     (5.61/UUNET-internet-primary) id AA16922; Fri, 12 Mar 93 17:05:05 -0500
  599. From: Jeffrey Kegler <jeffrey@netcom.com>
  600. Newsgroups: comp.std.unix
  601. Subject: Re: Even Good Test Method Standards are Harmful
  602. Organization: Netcom - Online Communication Services (408 241-9760 guest)
  603. Message-Id: <1nr118INNpga@ftp.UU.NET>
  604. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET>
  605. Nntp-Posting-Host: ftp.uu.net
  606. X-Submissions: std-unix@uunet.uu.net
  607. Xref: uunet comp.std.unix:2011
  608. Date: 12 Mar 1993 13:58:00 -0800
  609. Reply-To: std-unix@uunet.uu.net
  610. To: std-unix@uunet.UU.NET
  611. Sender: Network News <news@kithrup.com>
  612. Source-Info:  From (or Sender) name not authenticated.
  613.  
  614. Submitted-by: jeffrey@netcom.com (Jeffrey Kegler)
  615.  
  616. Based on the headers, I have to assume Bob Bagwill's response was
  617. to my posting.  I could not have determined this from the message
  618. body, because it does not address any issue which I addressed.
  619.  
  620. Bob Bagwill makes the point that test suites are A Good Thing.
  621. I agree with this, and find his arguments solid.
  622.  
  623. My posting argued that test method *STANDARDIZATION* is harmful.
  624. Bob doesn't address this issue at all.
  625.  
  626. Perhaps being assumed, without explicit statement, is this:
  627. "Test Suites are Good, Standards are Good, therefore Test Method
  628. Standards must be Good."  It's one of those assumptions which
  629. doesn't survive explicit statement very well.  It's more a leap
  630. of faith, than a chain of argument.  I accept both premises,
  631. but find the conclusion totally without foundation.  Test Method
  632. Standards require their own separate justification, and I feel
  633. it unlikely that one can be supplied.
  634.  
  635. -- 
  636. Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc.
  637. jeffrey@algor2.ALGORISTS.COM or uunet!algor2!jeffrey
  638. 137 E Fremont AVE #122, Sunnyvale CA 94087
  639.  
  640. Volume-Number: Volume 31, Number 10
  641.  
  642. From std-unix-request@uunet.UU.NET  Fri Mar 12 17:05:47 1993
  643. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  644.     (5.61/UUNET-mail-drop) id AA10398; Fri, 12 Mar 93 17:05:47 -0500
  645. Received: from kithrup.com by relay2.UU.NET with SMTP 
  646.     (5.61/UUNET-internet-primary) id AA23993; Fri, 12 Mar 93 17:05:43 -0500
  647. From: Chuck Karish <karish@pangea.Stanford.EDU>
  648. Newsgroups: comp.std.unix
  649. Subject: Re: Even Good Test Method Standards are Harmful
  650. Organization: Mindcraft, Inc.
  651. Message-Id: <1nr0mmINNp22@ftp.UU.NET>
  652. References: <1n4auaINNr3a@ftp.UU.NET> <1nja8cINNc45@ftp.UU.NET> <1no7eqINN7f@ftp.UU.NET>
  653. Nntp-Posting-Host: ftp.uu.net
  654. Keywords: test method
  655. X-Submissions: std-unix@uunet.uu.net
  656. Xref: uunet comp.std.unix:2009
  657. Date: 12 Mar 1993 13:52:22 -0800
  658. Reply-To: std-unix@uunet.uu.net
  659. To: std-unix@uunet.UU.NET
  660. Sender: Network News <news@kithrup.com>
  661. Source-Info:  From (or Sender) name not authenticated.
  662.  
  663. Submitted-by: karish@pangea.Stanford.EDU (Chuck Karish)
  664.  
  665. In article <1no7eqINN7f@ftp.UU.NET> peter@ferranti.com (peter da silva) writes:
  666. >
  667. >In article <1nja8cINNc45@ftp.UU.NET> jeffrey@netcom.com (Jeffrey Kegler)
  668. >writes a lot of good stuff about test-methods.
  669. >
  670. >And lest anyone think he's crying wolf, the crippled POSIX subsystem
  671. >described in Windows NT literature should be enough to show otherwise.
  672.  
  673. I don't see why Microsoft's POSIX.1-in-a-box implementation
  674. should serve as an indictment of test methods standards.
  675. There's no reason to believe that it won't conform to the
  676. letter of the POSIX.1 standard.  It's not productive to
  677. say "I know POSIX when I see it, and this ain't it".
  678.  
  679. >But if that's not enough, I've run into situations where a vendor has
  680. >implemented a device driver in such a way that some features are totally
  681. >useless, and refused to fix them because they still conformed to the
  682. >SVID.
  683.  
  684. The POSIX.3.1 test methods were never intended to be all-
  685. encompassing tests of the quality of POSIX.1 implementations.
  686. They were written to enable vendors to demonstrate that
  687. their systems provide standard interfaces that allow developers
  688. to port their code readily.
  689.  
  690. >For example, a serial driver that would not let you raise DTR
  691. >after dropping it, either by closing it and reopening or by setting
  692. >B0 and then B2400, since the SVID didn't specify that you be able to
  693. >raise DTR again except by doing a "first open" with no control terminal.
  694.  
  695. Peter, are you indicting the SVID or the SVVS?  The SVID
  696. is a specifications document like POSIX.1, and the SVVS
  697. implements test methods for verifying SVID compliance.
  698.  
  699. The task of weeding out systems that don't provide adequate
  700. usability belongs in the marketplace, not solely in the
  701. standards arena.
  702.  
  703. --
  704.  
  705.     Chuck Karish          karish@mindcraft.com
  706.     (415) 323-9000 x117   karish@pangea.stanford.edu
  707.  
  708.  
  709. Volume-Number: Volume 31, Number 8
  710.  
  711. From std-unix-request@uunet.UU.NET  Fri Mar 12 17:05:57 1993
  712. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  713.     (5.61/UUNET-mail-drop) id AA10412; Fri, 12 Mar 93 17:05:57 -0500
  714. Received: from kithrup.com by relay2.UU.NET with SMTP 
  715.     (5.61/UUNET-internet-primary) id AA24090; Fri, 12 Mar 93 17:05:58 -0500
  716. From: peter da silva <peter@ferranti.com>
  717. Newsgroups: comp.std.unix
  718. Subject: Re: Even Good Test Method Standards are Harmful
  719. Organization: Xenix Support, FICC
  720. Message-Id: <1nr0ggINNoqb@ftp.UU.NET>
  721. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET>
  722. Nntp-Posting-Host: ftp.uu.net
  723. X-Submissions: std-unix@uunet.uu.net
  724. Xref: uunet comp.std.unix:2008
  725. Date: 12 Mar 1993 13:49:04 -0800
  726. Reply-To: std-unix@uunet.uu.net
  727. To: std-unix@uunet.UU.NET
  728. Sender: Network News <news@kithrup.com>
  729. Source-Info:  From (or Sender) name not authenticated.
  730.  
  731. Submitted-by: peter@ferranti.com (peter da silva)
  732.  
  733. In article <1nlforINN1ol@ftp.UU.NET> bagwill@swe.ncsl.nist.gov (Bob Bagwill) writes:
  734. >In the absence of a test method (and, presumably test assertions)
  735. >what does it mean to "come as close as possible to the original
  736. >standard"?
  737. >1) Don't implement.  Buy the product from the original inventor.
  738. >2) Implement, but use the inventor's test suite.
  739. >3) Implement using the paper standard,
  740. >   and use lawyers to "prove" that your implementation meets the standard.
  741.  
  742. 4) Implement, using the most popular and widely available implementation
  743.    of the standard as a guideline to cover the inevitable gaps in anything
  744.    as complex as this. Honestly attempt to produce as versatile a system
  745.    as possible under these constraints. Use feedback from your customers
  746.    and competitors to improve the quality and conformity of your system.
  747.    Amdahl and Digital Research have been pretty successful using this
  748.    method without even having a paper standard to work from. Coherent and
  749.    Eunice have carved out appropriate niches using this, again without
  750.    even having a standard when they were first released.
  751.  
  752. A standard is not a spec for a product. If a company is (for whatever reasons)
  753. using it as such, test assertions won't do anything but lower the actual
  754. quality of the resulting product. If a company is making an honest attempt
  755. at producing the best possible product they can afford to that meets the
  756. requirements spelled out in the standard, the market will tell.
  757.  
  758. -- 
  759. Peter da Silva                                            `-_-'
  760. Ferranti International Controls Corporation                'U` 
  761. Sugar Land, TX  77487-5012 USA
  762. +1 713 274 5180                            "Zure otsoa besarkatu al duzu gaur?"
  763.  
  764. Volume-Number: Volume 31, Number 7
  765.  
  766. From std-unix-request@uunet.UU.NET  Fri Mar 12 17:11:34 1993
  767. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  768.     (5.61/UUNET-mail-drop) id AA10809; Fri, 12 Mar 93 17:11:34 -0500
  769. Received: from kithrup.com by relay2.UU.NET with SMTP 
  770.     (5.61/UUNET-internet-primary) id AA26021; Fri, 12 Mar 93 17:11:35 -0500
  771. From: Massimo Cotrozzi <cotrozzi@dsi.unimi.it>
  772. Newsgroups: comp.std.unix
  773. Subject: What about .6
  774. Organization: Computer Science Dep. - Milan University
  775. Message-Id: <1nr0poINNp67@ftp.UU.NET>
  776. Nntp-Posting-Host: ftp.uu.net
  777. Summary: How is .6 work going ?
  778. Keywords: .6 security
  779. X-Submissions: std-unix@uunet.uu.net
  780. Xref: uunet comp.std.unix:2010
  781. Date: 12 Mar 1993 13:54:00 -0800
  782. Reply-To: std-unix@uunet.uu.net
  783. To: std-unix@uunet.UU.NET
  784. Sender: Network News <news@kithrup.com>
  785. Source-Info:  From (or Sender) name not authenticated.
  786.  
  787. Submitted-by: cotrozzi@dsi.unimi.it (Massimo Cotrozzi)
  788.  
  789. What is the status of 1003.6?
  790.  
  791. --
  792. Massimo Cotrozzi  Computer Science Dept. Milan Italy
  793. cotrozzi@ghost.dsi.unimi.it  +39-2-27201253
  794. #include     "std/disclaimer.h"
  795.  
  796. [ Wording changed slightly from Massimo's orignal -- mod ]
  797.  
  798. Volume-Number: Volume 31, Number 9
  799.  
  800. From std-unix-request@uunet.UU.NET  Sat Mar 13 18:43:33 1993
  801. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  802.     (5.61/UUNET-mail-drop) id AA06670; Sat, 13 Mar 93 18:43:33 -0500
  803. Received: from kithrup.com by relay1.UU.NET with SMTP 
  804.     (5.61/UUNET-internet-primary) id AA18944; Sat, 13 Mar 93 18:43:30 -0500
  805. From: Henry Spencer <henry@zoo.toronto.edu>
  806. Newsgroups: comp.std.unix
  807. Subject: perception of standards (was Even Good Test Method Standards...)
  808. Organization: U of Toronto Zoology
  809. Message-Id: <1ntrdhINNon4@ftp.UU.NET>
  810. References: <1n4auaINNr3a@ftp.UU.NET> <1nja8cINNc45@ftp.UU.NET> <1no7eqINN7f@ftp.UU.NET> <1nr0mmINNp22@ftp.UU.NET>
  811. Nntp-Posting-Host: ftp.uu.net
  812. X-Submissions: std-unix@uunet.uu.net
  813. Xref: uunet comp.std.unix:2012
  814. Date: 13 Mar 1993 15:40:33 -0800
  815. Reply-To: std-unix@uunet.uu.net
  816. To: std-unix@uunet.UU.NET
  817. Sender: Network News <news@kithrup.com>
  818. Source-Info:  From (or Sender) name not authenticated.
  819.  
  820. Submitted-by: henry@zoo.toronto.edu (Henry Spencer)
  821.  
  822. In article <1nr0mmINNp22@ftp.UU.NET> karish@pangea.Stanford.EDU (Chuck Karish) writes:
  823. >>But if that's not enough, I've run into situations where a vendor has
  824. >>implemented a device driver in such a way that some features are totally
  825. >>useless, and refused to fix them because they still conformed...
  826. >
  827. >The POSIX.3.1 test methods were never intended to be all-
  828. >encompassing tests of the quality of POSIX.1 implementations...
  829.  
  830. There is a problem of perception here, one that goes beyond just the
  831. test-methods issue.  Some people view standards as laws, on the theory
  832. that they establish the minimum that vendors should be allowed to market.
  833. >From this viewpoint, standards should be as strict as possible, to raise
  834. the quality of marketed software.
  835.  
  836. The problem with this view is that there is nobody standing over the
  837. average vendor with a gun, forcing him to comply with the standard.
  838. If it is too strict, he will simply ignore it.  Standards that are
  839. not accepted are a useless waste of everyone's time.  (Nobody has
  840. ever used ANSI standard EBCDIC -- certainly not IBM!)
  841.  
  842. The standard-setting process reflects this, by being organized so that
  843. standards (in principle) represent consensus opinion of all concerned,
  844. and so that (in theory) one group cannot ram a problematic standard
  845. down everyone else's throat.  While disgruntled users may *want* to
  846. ram some standards down the vendors' throats, that isn't the way the
  847. standards process usually works... and when it does, you don't want
  848. to be standing too close, because the result is likely to be a mess.
  849.  
  850. Standards developed by this process are best viewed as contracts,
  851. telling each party what the other one promises to do and not to do.
  852. And even a signed-and-sealed contract is not a substitute for good
  853. will on both sides.  If you try to write an airtight contract, you
  854. will end up with something that few people will sign, with eventual
  855. litigation over details almost guaranteed.  (And the courts will
  856. interpret such a contract very narrowly -- if you fail to fulfill
  857. *your* obligations in the slightest detail, you can forget it.)
  858. In practice, you are better off with something shorter and simpler
  859. that doesn't try to seal every loophole.  This means you have to
  860. pick a supplier who will live up to the spirit of his obligations
  861. and not just the letter... but you have to do that *anyway*, because
  862. there are *always* ways for him to fulfill the letter but not the
  863. spirit.
  864.  
  865. The *only* way to keep vendors honest is competition.  Standards are
  866. certainly useful in establishing what the vendors should be living
  867. up to, but they won't make them live up to it.  If you don't want
  868. to get shafted by a vendor, have an alternative vendor just in case.
  869. This is what standards are really about -- giving you a stable base
  870. so that you *do* have choices.
  871.  
  872. (The form of choice that I personally like best is having source code;
  873. that way, if really necessary, I can tell the vendor to go spindle
  874. himself, and make the fix myself.  There has historically been a problem
  875. in that this was very expensive in the Unix world, outside some favored
  876. enclaves like the universities... but that has changed.  You can now get
  877. a decent exactly-like-Unix system, with full commercial support and
  878. *WITH SOURCE*, for not much more than you pay for binary-only sludge
  879. from the "UNIX is a registered trademark of <insert this week's name>"
  880. people.  If you let yourself be locked into a monopoly supplier, it's
  881. your own fault now.)
  882.  
  883. (To avoid leaving people dangling, I suppose I should say that if you
  884. want to know more, send mail to bsdi-info@bsdi.com.  I don't work for
  885. them, but I heartily approve of what they're doing.)
  886.  
  887. -- 
  888. C++ is the best example of second-system| Henry Spencer @ U of Toronto Zoology
  889. effect since OS/360.                    |  henry@zoo.toronto.edu  utzoo!henry
  890.  
  891. Volume-Number: Volume 31, Number 11
  892.  
  893. From std-unix-request@uunet.UU.NET  Mon Mar 15 14:14:41 1993
  894. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  895.     (5.61/UUNET-mail-drop) id AA22630; Mon, 15 Mar 93 14:14:41 -0500
  896. Received: from kithrup.com by relay1.UU.NET with SMTP 
  897.     (5.61/UUNET-internet-primary) id AA16392; Mon, 15 Mar 93 14:14:20 -0500
  898. From: sethr@cbnewsl.att.com
  899. Newsgroups: comp.std.unix
  900. Subject: Re: Even Good Test Method Standards are Harmful
  901. Organization: AT&T Bell Laboratories
  902. Message-Id: <1o2jroINN8pb@ftp.UU.NET>
  903. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET>
  904. Nntp-Posting-Host: ftp.uu.net
  905. X-Submissions: std-unix@uunet.uu.net
  906. Xref: uunet comp.std.unix:2014
  907. Date: 15 Mar 1993 11:02:16 -0800
  908. Reply-To: std-unix@uunet.uu.net
  909. To: std-unix@uunet.UU.NET
  910. Sender: Network News <news@kithrup.com>
  911. Source-Info:  From (or Sender) name not authenticated.
  912.  
  913. Submitted-by: sethr@cbnewsl.att.com
  914.  
  915. The problem with the test assertions analyses that I have
  916. seen is that somehow there is confusion as to what the
  917. real standard is.  In the case of POSIX.1, all implementations
  918. must conform to the terms of 1003.1-19XX.  Any test assertion
  919. that assumes more than this or something contradictory to
  920. 1003.1-19XX is broken.  The under-lying base standard always
  921. prevails.  The interpretations process notably lies not within
  922. any test methodology group, but within active and former members of
  923. the 1003.1 committee who have participated in the development
  924. of the base standard in question.  Any deviation in the Test
  925. Methodology is routinely resolved in favor of the base standard.
  926.  
  927. What test methods are useful for, is for Test Implementors
  928. to be able to eliminate the overhead of having to identify
  929. independently all the requirements of 1003.1.  This also
  930. presumably makes for more consistent testing vehicles.  If the
  931. Test Methodology is missing things, this is a quality issue
  932. and is in no way binding on an implementation.  Test suites
  933. should include assertions based on 1003.1 whether or not the
  934. methodology mentions it.  Test Suites may not test something
  935. that is not specifically asserted in the base standard.
  936.  
  937. Perhaps this discussion really all boils down to the quality
  938. of the test suite.
  939.  
  940.  
  941.         Seth Rosenthal
  942.  
  943. Disclaimer: All opinions are my own not my employers'.
  944.  
  945.  
  946. Volume-Number: Volume 31, Number 13
  947.  
  948. From std-unix-request@uunet.UU.NET  Mon Mar 15 14:14:55 1993
  949. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  950.     (5.61/UUNET-mail-drop) id AA22652; Mon, 15 Mar 93 14:14:55 -0500
  951. Received: from kithrup.com by relay1.UU.NET with SMTP 
  952.     (5.61/UUNET-internet-primary) id AA16486; Mon, 15 Mar 93 14:14:37 -0500
  953. From: Robin Fairbairns <rf@cl.cam.ac.uk>
  954. Newsgroups: comp.std.unix
  955. Subject: Re: Even Good Test Method Standards are Harmful
  956. Organization: U of Cambridge Computer Lab, UK
  957. Message-Id: <1o2jplINN8md@ftp.UU.NET>
  958. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET> <1nr118INNpga@ftp.UU.NET> <1nr118INNpga@ftp.UU.NET>,
  959. Nntp-Posting-Host: ftp.uu.net
  960. X-Submissions: std-unix@uunet.uu.net
  961. Xref: uunet comp.std.unix:2013
  962. Date: 15 Mar 1993 11:01:09 -0800
  963. Reply-To: std-unix@uunet.uu.net
  964. To: std-unix@uunet.UU.NET
  965. Sender: Network News <news@kithrup.com>
  966. Source-Info:  From (or Sender) name not authenticated.
  967.  
  968. Submitted-by: rf@cl.cam.ac.uk (Robin Fairbairns)
  969.  
  970. In article <1nr118INNpga@ftp.UU.NET>, jeffrey@netcom.com (Jeffrey Kegler) writes:
  971. Jeffrey Kegler argues that test method *STANDARDIZATION* is harmful,
  972. and claims that Bob Bagwill doesn't address this issue at all.
  973.  
  974. He then goes on to argue about his reduction of Bob's comments to:
  975. "Test Suites are Good, Standards are Good, therefore Test Method
  976. Standards must be Good."
  977.  
  978. Let's back off a bit, and consider why people standardise at all.  If
  979. you look in BS 0 ("A standard for standards"), they have a section
  980. on the development of BS 1 on varieties of steel rail for railways;
  981. this standard reduced the number of varieties on sale from something
  982. like 70 to 5.  Customers were served well, but not as well as they
  983. would have been by the writing of a perfect standard, in which all the
  984. vendors had agreed on just one variety.  The lesson is that in an
  985. imperfect world, even small steps towards perfection are of value.
  986.  
  987. Now, test methods are never (in non-trivial cases) going to indentify
  988. all potential problems with an implementation.  And, in an imperfect
  989. world, one is always going to have the rogue around who says "it runs
  990. OK past the standard tests, therefore it's _right_".
  991.  
  992. But (as Peter da Silva suggests) it's next to impossible to remove the
  993. rogues from the marketplace by standards, anyway.  So what's wrong
  994. with pooling the effort of defining a basic set of test methods, and
  995. then publishing that effort as a standard?
  996.  
  997. The legal position ought to help, too.  My experience of test
  998. standards (NB, not within Posix) positions them as part of the
  999. procurement process: if I want to buy something, I may require a
  1000. vendor to provide a conformance certificate that shows that his
  1001. implementation satisfies a set of test criteria.  But if I have a
  1002. problem with the implementation once I've bought it, my contract to
  1003. purchase had better be written in terms of the base standard -
  1004. otherwise I've exhausted all legal redress by requiring the
  1005. certificate in the first place.
  1006.  
  1007. --
  1008. Robin (Keep Radio 3 != Classic FM) Fairbairns       rf@cl.cam.ac.uk
  1009. U of Cambridge Computer Lab, Pembroke St, Cambridge  CB2 3QG, UK
  1010.  
  1011.  
  1012. Volume-Number: Volume 31, Number 12
  1013.  
  1014. From std-unix-request@uunet.UU.NET  Mon Mar 15 20:31:48 1993
  1015. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  1016.     (5.61/UUNET-mail-drop) id AA05408; Mon, 15 Mar 93 20:31:48 -0500
  1017. Received: from kithrup.com by relay2.UU.NET with SMTP 
  1018.     (5.61/UUNET-internet-primary) id AA15061; Mon, 15 Mar 93 20:31:50 -0500
  1019. From: Dave Cline <dave@88open.org>
  1020. Newsgroups: comp.std.unix
  1021. Subject: Re: Even Good Test Method Standards are Harmful
  1022. Organization: Kithrup Enterprises, Ltd.
  1023. Message-Id: <1o3a76INNmse@ftp.UU.NET>
  1024. References: <1nja8cINNc45@ftp.UU.NET> <1nja8cINNc45@ftp.UU.NET>,
  1025. Nntp-Posting-Host: ftp.uu.net
  1026. X-Submissions: std-unix@uunet.uu.net
  1027. Xref: uunet comp.std.unix:2015
  1028. Date: 15 Mar 1993 17:23:50 -0800
  1029. Reply-To: std-unix@uunet.uu.net
  1030. To: std-unix@uunet.UU.NET
  1031. Sender: Network News <news@kithrup.com>
  1032. Source-Info:  From (or Sender) name not authenticated.
  1033.  
  1034. Submitted-by: dave@88open.org (Dave Cline)
  1035.  
  1036. In article <1nja8cINNc45@ftp.UU.NET>,
  1037.     jeffrey@netcom.com (Jeffrey Kegler) writes:
  1038.  
  1039. >Here's the problem.  In the absence of a test method standard, the
  1040. >implementor of the base standard must come as close as possible to the
  1041. >original standard.
  1042.  
  1043. To be a bit more precise, in the absence of a conformance test suite,
  1044. the implementor must *say* they implement the base standard.  It's
  1045. not quite the same thing in the real world.
  1046.  
  1047. >If a test method standard exists, however, he need
  1048. >only implement to pass the tests in that standard.
  1049.  
  1050. Here, as in the following, no clear distinction is made between
  1051. a test method standard and a conformance test suite is made.
  1052.  
  1053. Conformance test suites existed long before anyone thought of
  1054. writing a test method standard.  Almost all of the arguments that
  1055. are advanced here against test method standards apply equally to
  1056. conformance test suites.
  1057.  
  1058. >Standardized test methods imply, perhaps paradoxically, a considerably
  1059. >less rigorous standard than their original base standard.  Almost all
  1060. >standards of POSIX complexity will contain requirements which are not
  1061. >practically testable.  The standardized test method, in effect,
  1062. >repeals these.
  1063. >
  1064. >The mathematical argument that the base standard implied by the test
  1065. >method standard must be less rigorous than the original is
  1066. >straightforward.  Most POSIX standards will specify a sufficiently
  1067. >complex system to implement a Turing machine.  Testing that all
  1068. >programs for a Turing machine correctly execute on a given black box
  1069. >is impossible, even in theory -- it implies the solution of whole sets
  1070. >of undecidable problems.
  1071.  
  1072. I think that the reference to Turing might have been intended to refer
  1073. to Goedel, but anyway, the reference is misplaced.   A Turing machine
  1074. requires infinite storage.  If only finite storage is present, then
  1075. one can, in theory, enumerate all the possible programs and their
  1076. results.  With finite storage there is no halting problem.  One may
  1077. well choose not to wait for the answers, though.  :-)
  1078.  
  1079. There are hard problems.  There are complex standards.  Exhaustive
  1080. black box testing of standards is not possible for many different
  1081. reasons.
  1082.  
  1083. All of these statements have nothing whatever to do with Turing machines.
  1084.  
  1085. Any black box test such as a conformance test suite samples only
  1086. a small portion of the potential state space of a large system.
  1087. As with any test, it can only show the presence of bugs.
  1088.  
  1089. We certainly should not criticize black box conformance testing
  1090. because it cannot show the absence of bugs.
  1091.  
  1092. >It would seem to me to be prudent to produce test method standards on
  1093. >a limited, trial basis, if at all.
  1094.  
  1095. It seems valid to argue against formal test method standards because:
  1096.  
  1097.   a) they are hard to write.
  1098.   b) they are just as error-prone as the original standard.
  1099.   c) there is no mechanical way to ensure that both standards
  1100.      say the same thing.
  1101.   d) they are not cost-effective.
  1102.   e) the audience for such standards is limited.
  1103.   f) they are not technology enablers.  Conformance test suites
  1104.      will be written even if test method standards are not.
  1105.   g) the time required to create a test method standard impacts
  1106.      the timely release of the base standards.
  1107.  
  1108. I agree with the above statements.
  1109.  
  1110. However, one should distinguish between test method standards
  1111. and conformance test suites.  The conformance test suites will
  1112. end up being written whether a test method standard exists
  1113. or not (e.g. languages have not been "blessed" with test method
  1114. standards, but language conformance testing is accepted industry
  1115. practice).
  1116.  
  1117. --
  1118.  
  1119. Volume-Number: Volume 31, Number 14
  1120.  
  1121. From std-unix-request@uunet.UU.NET  Tue Mar 16 01:02:24 1993
  1122. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1123.     (5.61/UUNET-mail-drop) id AA24528; Tue, 16 Mar 93 01:02:24 -0500
  1124. Received: from kithrup.com by relay1.UU.NET with SMTP 
  1125.     (5.61/UUNET-internet-primary) id AA22867; Tue, 16 Mar 93 01:02:20 -0500
  1126. From: peter da silva <peter@ferranti.com>
  1127. Newsgroups: comp.std.unix
  1128. Subject: Re: Even Good Test Method Standards are Harmful
  1129. Organization: Xenix Support, FICC
  1130. Message-Id: <1o3qdvINN158@ftp.UU.NET>
  1131. References: <1nja8cINNc45@ftp.UU.NET> <1no7eqINN7f@ftp.UU.NET> <1nr0mmINNp22@ftp.UU.NET>
  1132. Nntp-Posting-Host: ftp.uu.net
  1133. Keywords: test method
  1134. X-Submissions: std-unix@uunet.uu.net
  1135. Xref: uunet comp.std.unix:2016
  1136. Date: 15 Mar 1993 22:00:31 -0800
  1137. Reply-To: std-unix@uunet.uu.net
  1138. To: std-unix@uunet.UU.NET
  1139. Sender: Network News <news@kithrup.com>
  1140. Source-Info:  From (or Sender) name not authenticated.
  1141.  
  1142. Submitted-by: peter@ferranti.com (peter da silva)
  1143.  
  1144. In article <1nr0mmINNp22@ftp.UU.NET> karish@pangea.Stanford.EDU (Chuck Karish) writes:
  1145. >I don't see why Microsoft's POSIX.1-in-a-box implementation
  1146. >should serve as an indictment of test methods standards.
  1147.  
  1148. That wasn't my intent... I was simply pointing out an example of how a
  1149. vendor can abuse a standard. Test method standards simply give many of
  1150. them something else to abuse.
  1151.  
  1152. >There's no reason to believe that it won't conform to the
  1153. >letter of the POSIX.1 standard.  It's not productive to
  1154. >say "I know POSIX when I see it, and this ain't it".
  1155.  
  1156. Again, that's putting words into my mouth. Yes, I'm sure it will satisfy
  1157. POSIX.1 to the last jot and tittle. It won't be terribly *useful*, but
  1158. that's not something that can be mandated by POSIX... it's a 'quality of
  1159. implementation' issue.
  1160.  
  1161. And leaving it to the marketplace isn't good enough, because the marketplace
  1162. by and large doesn't care about POSIX other than as a check-mark on a PR
  1163. form. If we leave it to the marketplace we're going to all be coding to the
  1164. Win32 "standard".
  1165.  
  1166. -- 
  1167. Peter da Silva                                            `-_-'
  1168. Ferranti International Controls Corporation                'U` 
  1169. Sugar Land, TX  77487-5012 USA
  1170. +1 713 274 5180                            "Zure otsoa besarkatu al duzu gaur?"
  1171.  
  1172. Volume-Number: Volume 31, Number 15
  1173.  
  1174. From std-unix-request@uunet.UU.NET  Tue Mar 16 15:23:12 1993
  1175. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1176.     (5.61/UUNET-mail-drop) id AA16395; Tue, 16 Mar 93 15:23:12 -0500
  1177. Received: from kithrup.com by relay1.UU.NET with SMTP 
  1178.     (5.61/UUNET-internet-primary) id AA28983; Tue, 16 Mar 93 15:23:04 -0500
  1179. From: Andy Feibus <amf@amfent.gwinnett.com>
  1180. Newsgroups: comp.std.unix
  1181. Subject: Re: Even Good Test Method Standards are Harmful
  1182. Organization: Kithrup Enterprises, Ltd.
  1183. Message-Id: <1o5cavINNllc@ftp.UU.NET>
  1184. Nntp-Posting-Host: ftp.uu.net
  1185. X-Submissions: std-unix@uunet.uu.net
  1186. Xref: uunet comp.std.unix:2017
  1187. Date: 16 Mar 1993 12:12:15 -0800
  1188. Reply-To: std-unix@uunet.uu.net
  1189. To: std-unix@uunet.UU.NET
  1190. Sender: Network News <news@kithrup.com>
  1191. Source-Info:  From (or Sender) name not authenticated.
  1192.  
  1193. Submitted-by: amf@amfent.gwinnett.com (Andy Feibus)
  1194.  
  1195. dave@88open.org (Dave Cline) writes:
  1196. > It seems valid to argue against formal test method standards because:
  1197. >   c) there is no mechanical way to ensure that both standards
  1198. >      say the same thing.
  1199. Taking this a step further, a test methods standard may not provide
  1200. complete or completely correct test coverage of a standard.  Following
  1201. from that (I hate the words "hence" and "thus" :-), a test suite based
  1202. on the test methods standard may not properly test the actual technology 
  1203. it intends to verify.
  1204.  
  1205. So, if a test suite is only an implementation of the test methods standard
  1206. and the test methods standard may not completely or correctly test the
  1207. technology, what good is it?  Even better -- or, more confusing --
  1208. how do we verify that the test suite is a complete and correct
  1209. implementation of the test methods standard (which may or may not be
  1210. complete or correct)??
  1211.  
  1212. -- Andy.
  1213.  
  1214. ------------
  1215. Andy Feibus.
  1216. Open Systems Today; SCO Magazine
  1217. andyfe@utoday.com
  1218.  
  1219. Volume-Number: Volume 31, Number 16
  1220.  
  1221. From std-unix-request@uunet.UU.NET  Tue Mar 16 20:05:38 1993
  1222. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1223.     (5.61/UUNET-mail-drop) id AA07948; Tue, 16 Mar 93 20:05:38 -0500
  1224. Received: from kithrup.com by relay1.UU.NET with SMTP 
  1225.     (5.61/UUNET-internet-primary) id AA03161; Tue, 16 Mar 93 20:05:24 -0500
  1226. From: David Emery <emery@goldfinger.mitre.org>
  1227. Newsgroups: comp.std.unix
  1228. Subject: Re: Even Good Test Method Standards are Harmful
  1229. Organization: The Mitre Corp., Bedford, MA.
  1230. Message-Id: <1o5t95INN2uo@ftp.UU.NET>
  1231. References: <1o5cavINNllc@ftp.UU.NET>
  1232. Nntp-Posting-Host: ftp.uu.net
  1233. X-Submissions: std-unix@uunet.uu.net
  1234. Xref: uunet comp.std.unix:2018
  1235. Date: 16 Mar 1993 17:01:25 -0800
  1236. Reply-To: std-unix@uunet.uu.net
  1237. To: std-unix@uunet.UU.NET
  1238. Sender: Network News <news@kithrup.com>
  1239. Source-Info:  From (or Sender) name not authenticated.
  1240.  
  1241. Submitted-by: emery@goldfinger.mitre.org (David Emery)
  1242.  
  1243. An issue that many people forget is that there is no such thing as a
  1244. test suite against a (language-independent) interface.  All test
  1245. suites are written in a programming language, and therefore test the
  1246. programming language binding (C, FORTRAN, Ada, Esperanto, whatever.)  
  1247.  
  1248. If you have language-independent interface specifications, then test
  1249. assertions against that LI specification might make sense.  If you are
  1250. testing a language binding, then I see no reason for worrying about
  1251. test assertions.  Instead, write the actual test, in the programming
  1252. language.  This avoids the issue of whether a test suite correctly
  1253. implements the assertion.  In the case of the current POSIX.1
  1254. standard, we have test assertions against a C language binding.  I
  1255. don't find this very useful.  
  1256.  
  1257. The Ada compiler tests (Ada Compiler Validation Facility) are freely
  1258. available.  They are used by implementors to test/debug their
  1259. compilers, by (suspicious) users to make sure that the compiler meets
  1260. the test, and by the Ada validation facilities (worldwide) to validate
  1261. Ada compilers against the DoD validation criteria.  They are
  1262. maintained by the Ada Validation Office, and the number of ACVC tests
  1263. has at least doubled since its inception, as new tests are developed
  1264. to validate parts of the language, and interactions between language
  1265. features, that were not included in previous tests.  Contrast this to
  1266. the POSIX approach, where the assertions (of no practical use to
  1267. anyone except a test developer) are open, but actual test suites are
  1268. proprietary to the test labs.  And, in POSIX, the test assertions have
  1269. the same development/modification/interpretation/improvement overhead
  1270. as the basic POSIX.1 standard, making it very hard to add new
  1271. tests/assertions as we learn more about testing POSIX compliance.
  1272.  
  1273. Frankly, I think the time and effort would have been better spent
  1274. developing actual C test suites for POSIX conformance, rather than
  1275. spending all of that time developing test methods that require
  1276. translation into C to be of any practical use to anyone besides a test
  1277. suite developer.  This might put some test suite developers out
  1278. of business, but it would be much more useful for the community as a
  1279. whole. 
  1280.                 dave
  1281.  
  1282.  
  1283. Volume-Number: Volume 31, Number 17
  1284.  
  1285. From std-unix-request@uunet.UU.NET  Wed Mar 17 14:54:03 1993
  1286. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  1287.     (5.61/UUNET-mail-drop) id AA06373; Wed, 17 Mar 93 14:54:03 -0500
  1288. Received: from kithrup.com by relay2.UU.NET with SMTP 
  1289.     (5.61/UUNET-internet-primary) id AA24585; Wed, 17 Mar 93 14:53:48 -0500
  1290. From: Mike Wulkan <wulkan@vnet.ibm.com>
  1291. Newsgroups: comp.std.unix
  1292. Subject: alarm()ing semantics
  1293. Organization: Kithrup Enterprises, Ltd.
  1294. Message-Id: <1o7stuINNj6@ftp.UU.NET>
  1295. Nntp-Posting-Host: ftp.uu.net
  1296. X-Submissions: std-unix@uunet.uu.net
  1297. Xref: uunet comp.std.unix:2019
  1298. Date: 17 Mar 1993 11:07:42 -0800
  1299. Reply-To: std-unix@uunet.uu.net
  1300. To: std-unix@uunet.UU.NET
  1301. Sender: Network News <news@kithrup.com>
  1302. Source-Info:  From (or Sender) name not authenticated.
  1303.  
  1304. Submitted-by: wulkan@vnet.IBM.COM (Mike Wulkan)
  1305.  
  1306. In POSIX.4a 8.3.3.2 it says:
  1307.  
  1308.   "Signals which result as a result of an alarm() call are directed at
  1309.   the thread that requested the alarm."
  1310.  
  1311. but in 8.4.4.2 it says:
  1312.  
  1313.   "The SIGALRM signal is asynchronously delivered to the process as a
  1314.   result of calling alarm()."
  1315.  
  1316. Which is it, the thread or the process?
  1317.  
  1318. I guess thread, or there wouldn't be much point in having section 8.4.4.2
  1319. rather than just refer to POSIX.1.
  1320.  
  1321. Mike Wulkan
  1322.  
  1323. Volume-Number: Volume 31, Number 18
  1324.  
  1325. From std-unix-request@uunet.UU.NET  Wed Mar 17 17:30:17 1993
  1326. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  1327.     (5.61/UUNET-mail-drop) id AA24282; Wed, 17 Mar 93 17:30:17 -0500
  1328. Received: from kithrup.com by relay2.UU.NET with SMTP 
  1329.     (5.61/UUNET-internet-primary) id AA09804; Wed, 17 Mar 93 17:30:03 -0500
  1330. From: Jeremy Epstein <epstein@trwacs.fp.trw.com>
  1331. Newsgroups: comp.std.unix
  1332. Subject: POSIX security: call for participation
  1333. Organization: Kithrup Enterprises, Ltd.
  1334. Message-Id: <1o87jaINN962@ftp.UU.NET>
  1335. Nntp-Posting-Host: ftp.uu.net
  1336. X-Submissions: std-unix@uunet.uu.net
  1337. Xref: uunet comp.std.unix:2020
  1338. Date: 17 Mar 1993 14:09:46 -0800
  1339. Reply-To: std-unix@uunet.uu.net
  1340. To: std-unix@uunet.UU.NET
  1341. Sender: Network News <news@kithrup.com>
  1342. Source-Info:  From (or Sender) name not authenticated.
  1343.  
  1344. Submitted-by: epstein@trwacs.fp.trw.com (Jeremy Epstein)
  1345.  
  1346. POSIX 1003.6 (Security) Working Group Organizing New Subgroups
  1347. ==============================================================
  1348.  
  1349. For the past year, the P1003.6 Working Group has been focused on resolving
  1350. ballot objections to the current draft standard.  Starting at the April
  1351. meeting in Irvine, several new subgroups will be formed to investigate
  1352. the development of standard security interfaces for additional functional
  1353. areas.
  1354.  
  1355. At the P1003.6 meeting in New Orleans in January, the group came up with a
  1356. list of potential areas where work could be performed.  Note that this list
  1357. is not necessarily exhaustive.  It is simply a starting point.  The actual
  1358. areas to be worked will be determined, to a large degree, by the wishes of
  1359. the people who show up to do the work.  If you have a specific area of
  1360. interest, you are strongly encouraged to start attending the meetings on a
  1361. regular basis, starting with the April meeting.  Those of us who have
  1362. participated in the group over the last few years have found the work
  1363. interesting and rewarding.  Our companies, who have sponsored our
  1364. attendance, have also found our participation to have significant value.
  1365.  
  1366. The current draft would not be coming to fruition were it not for the work
  1367. of all those who have participated in the Security Working Group (1003.6) - 
  1368. a dedicated group of individuals representing many different technical 
  1369. viewpoints.  If you are a member of that origina  group, we welcome you back 
  1370. as we start our new efforts.  If you have not participated before, but have 
  1371. an interest in any of the topics below, or any other related topic, we 
  1372. also welcome your participation.  The broader our base of expertise and real 
  1373. world experience, the better the resulting standard will be.  Your efforts 
  1374. will make a difference.
  1375.  
  1376. This working group is known for working hard, and playing hard.
  1377. It is a group dedicated to the development of security interfaces. 
  1378. Although the meetings can be lively with contentious technical discussion,
  1379. the group also has been known to have fun together. You too can 
  1380. become a part of the group that introduced the Bunny Hop to an unsuspecting 
  1381. Europe; was remembered by the staff at a major hotel the next year ("Are THEY 
  1382. here again???"); was observed at the bar in the Holiday Inn at 1AM with
  1383. 4 notebooks plugged in, working on the draft; as well as many other
  1384. moments too numerous to be recounted here.  P1003.6 is a very active group, 
  1385. strongly committed to the standards process, very receptive to new members 
  1386. and new ideas, working together well as a team.
  1387.  
  1388. If you have any further questions about the working group or the upcoming 
  1389. meeting, please contact the Acting Vice Chair, Lynne Ambuel (410) 859-4463. 
  1390. She can also be reached electronically at Ambuel @ dockmaster.ncsc.mil.
  1391.  
  1392. We hope to see you in Irvine!!
  1393.  
  1394. List of Potential New Functional Areas
  1395. ======================================
  1396.  
  1397. Administrative Services
  1398.           Administrative user interfaces to security-related mechanisms is
  1399.           an area that was specifically determined to be "out-of-scope" for
  1400.           the original 1003.6 effort.  However, the group understands that
  1401.           this is an area that needs to be standardized so that an
  1402.           administrator's interface to portable systems is predictable and
  1403.           well-defined.  The Security Group (1003.6) met with the
  1404.           Administrative Services group (1003.7) to discuss possible
  1405.           overlapping areas on which security attributes should be handled
  1406.           in their proposed user database.  After a period of discussion, it
  1407.           was agreed upon that some kind of liaison should be established
  1408.           between the Security and Administrative Services Groups
  1409.           The possible security administration areas that could be addressed
  1410.           are listed below:
  1411.  
  1412.           Password Management
  1413.           Backup/Restore
  1414.           Audit
  1415.           Privilege/Authorizations
  1416.           MAC
  1417.           Information Labels
  1418.           Label Management
  1419.           Process Management
  1420.           Job Control Management
  1421.           Resource Management
  1422.           User/Login Management - User Accounts
  1423.           Terminal Management - Session
  1424.           I&A Management
  1425.           System CM
  1426.           ACL Management
  1427.           Role Management
  1428.           Clearances
  1429.           Device Management
  1430.           Software/OS Installation
  1431.  
  1432.  
  1433. General Cryptographic Services Interfaces
  1434.           Generic interfaces to cryptographic services was not
  1435.           within the original scope of the 1003.6 effort.
  1436.           However, there were specific ballot objections to Draft 12
  1437.           of the standard because it did not include any such
  1438.           interfaces. The ballot resolution group agreed that the
  1439.           interfaces are needed and that they should be addressed.
  1440.           
  1441.           A balloter has provided a series of interfaces for checking
  1442.           the integrity baseline of a system and for generating
  1443.           and verifying digital signatures.  This 'proposal' could be
  1444.           used as a basis for developing the interface for
  1445.           cryptographic services.
  1446.  
  1447.           Encryption was also considered to be of importance in
  1448.           cryptographic services.  This would include interfaces
  1449.           to keying algorithms, as well as encryption and decryption services.
  1450.           The emphasis would be on a creating generic algorithm-
  1451.           independent API.
  1452.  
  1453.           A major problem with dealing with standardization of
  1454.           cryptographic services at an international level is
  1455.           import and export restrictions on cryptographic services
  1456.           and algorithms.  This is true not only between US and
  1457.           Europe, but also between national boundaries within Europe.
  1458.           However, the feeling is that these trade barriers seem to
  1459.           be weakening and this effort is therefore a worthwhile one.
  1460.  
  1461. Identification and Authentication
  1462.           Identification and Authentication (I&A) was identified as
  1463.           being out of scope in draft 12 of the 1003.6 document.
  1464.           However, it is acknowledged by the members of 1003.6 that
  1465.           I&A is an integral part of protection mechanisms and should
  1466.           be considered. UNIX login, for example, is widely used and
  1467.           should be included in the IEEE POSIX API. I&A was considered to
  1468.           be one of the most important  new work items by virtually all of 
  1469.           the members present at the New Orleans meeting.
  1470.           Thus, I&A will most likely become a new work item
  1471.           for the 1003.6 group. In addition, discussions with the
  1472.           Administrative Services group identified I&A management as
  1473.           a security service with security attributes.
  1474.  
  1475.           Topics to be considered under I&A include:
  1476.           * Credential Management - Identification and maintenance of
  1477.             credential information needed for proper identification of
  1478.             a user.
  1479.           * Credential Manipulation - Modification, duplication and
  1480.             delegation of credentials of a user.
  1481.           * Passwords - Passwords were reluctantly added to the list, 
  1482.             not because they are not important but because of the fear of
  1483.             establishing a standard that would be bound to a password
  1484.             mechanism.  It was the opinion of the group that FIPS 112
  1485.             should be looked at for ideas and direction.  In addition,
  1486.             the UK government password guidelines could be used as
  1487.             input to this effort.
  1488.           * Additional Authentication - Additional authentication mechanisms 
  1489.             should be identified and researched.  (e.g. smart cards,
  1490.             biometrics, etc.) However, the group would concentrate on
  1491.             developing APIs to these mechanisms without setting a
  1492.             standard as to which one should be used.
  1493.           * Identifier Management (User) -  Identification and maintenance 
  1494.             of information needed to properly identify a user are to be 
  1495.             included in this effort. Items such as name, clearance, 
  1496.             organizational code could be considered along with any other 
  1497.             information that could be used to determine security related 
  1498.             privileges of a user.
  1499.  
  1500. Security Liaison Efforts
  1501.             The original scope of P1003.6 included adding new interfaces
  1502.             for security-related functions to P1003.1 and P1003.2, as
  1503.             well as redefining those interfaces within P1003.1 and
  1504.             P1003.2 that provided security vulnerabilities for
  1505.             complying systems.  The latter portion of this scope now needs
  1506.             to be extended to the other IEEE POSIX standards that are
  1507.             being developed, to be sure that there are no inherent 
  1508.             security flaws in those systems.  In order to accomplish
  1509.             this task, the IEEE P1003.6 Security Working Group sees it
  1510.             as very important to keep track of, and have an active
  1511.             liaison with, other POSIX working groups that have now, or
  1512.             in the future may have, security implications. An active
  1513.             dialog with these groups will lessen the possibility that
  1514.             any security flaws are mandated in systems developing to
  1515.             those standards.
  1516.  
  1517.             This includes the following:
  1518.                * 1003.1a extensions to ISO 9945-1:1990
  1519.                * 1003.2b ISO revision of 1003.2
  1520.                * 1003.4  real-time
  1521.                * 1003.4a threads
  1522.                * 1003.7  administration
  1523.                * 1003.8  transparent file access
  1524.                * 1003.12 protocol independent network specification
  1525.                * 1003.15 batch services
  1526.                * 1003.17 directory/name services
  1527.  
  1528.             The goals of this work are to ensure that security issues
  1529.             are either addressed directly by the affected working
  1530.             groups or brought to the attention of the security working
  1531.             group for inclusion at a later stage in the list
  1532.             of "new work items", as well as to ensure a better
  1533.             understanding of potential security issues in other
  1534.             specifications.  It is also important for the working group
  1535.             to understand the security impact of these other interfaces
  1536.             on the 1003.6 specification.
  1537.  
  1538. Networking Services
  1539.             The IEEE P1003.6 Security Working Group will investigate the
  1540.             development of security extensions for Networking Services.
  1541.             These extensions will work within the guidelines described in
  1542.             the evolving IEEE POSIX Distributed Security Study Group's
  1543.             proposal "A Distributed Security Framework for POSIX".
  1544.  
  1545.             The group will address security extensions and new interfaces
  1546.             to allow security services to function in a network or
  1547.             distributed system environment in the following  potential areas:
  1548.  
  1549.             * Secure RPC: interfaces need to be defined which allow for
  1550.               the selection of a variety of security services including
  1551.               identification, authentication, and possibly access control.
  1552.             * Authorization and Access Control: current authorization and
  1553.               access control interfaces should be extended to work within
  1554.               a distributed system environment.
  1555.             * Distributed Management Interfaces: interfaces should be
  1556.               defined to allow the management of the variety of security
  1557.               attributes and services necessary in a network or
  1558.               distributed system environment.
  1559.             * Auditing: extensions to the security auditing interfaces
  1560.               need to be defined to allow auditing to work in a network
  1561.               and distributed system environment. For example, the audit
  1562.               interfaces need to provide the ability for servers to audit
  1563.               events on behalf of the client. Likewise, the auditing
  1564.               interfaces need to provide services to  handle audit
  1565.               trails which may be spread across multiple systems.
  1566.             * Credential Management: interfaces should be defined to
  1567.               manage user credentials and their associated attributes
  1568.               in a network-wide or distributed system.
  1569.  
  1570. Portable Formats
  1571.             The IEEE P1003.6 Security Working Group will investigate
  1572.             the development of standard, portable formats for access
  1573.             control lists (ACLs), mandatory access control (MAC) and
  1574.             information labels, file privilege states, and audit trails.
  1575.             Developing standard, portable formats for ACLs, labels, and
  1576.             file privilege states is necessary to preserve security
  1577.             relevant attributes of objects when importing and exporting
  1578.             those objects between non-homogeneous (and sometimes even
  1579.             homogeneous) platforms. Developing a standard, portable
  1580.             audit trail format is necessary to preserve the usefulness
  1581.             of audit trails when importing and exporting audit data
  1582.             between non-homogeneous platforms.
  1583.  
  1584.             This effort will include interacting with other POSIX
  1585.             working groups that are developing standard interfaces
  1586.             that should utilize these portable formats.
  1587.  
  1588. **********************************************************************
  1589.  
  1590. AGENDA FOR IRVINE P1003.6 Security Working Group Meeting
  1591. ========================================================
  1592.  
  1593. The IEEE POSIX Working Group for Security will meet at the Irvine 
  1594. Marriott Hotel in Irvine CA during the week of 19 - 23 April. More 
  1595. information about registration and attendance to the meeting can be
  1596. obtained from Brenda Williams at the IEEE Computer Society. Her telephone
  1597. number is (202) 371-0101.  The telephone number of the conference hotel
  1598. is (714) 553-0100.
  1599.  
  1600. The April meeting of Security working group (P1003.6) will have
  1601. two purposes: to resolve ballot issues for the current draft standard
  1602. and to define and begin formulating the new set of protection interfaces
  1603. for several functionality areas not encompassed by the current draft. 
  1604. There will be both large group discussions and small group work sessions.
  1605.  
  1606. Mon, 19 April:    9:00-11:30  Discussion of the new interface areas.
  1607.                               Formulation ofnew subgroups.
  1608.                   1:00-2:30   Discussion of Liaison issues 
  1609.                               Selection of liaisons to other working groups
  1610.                   2:30-5:00   subgroups meet
  1611.  
  1612. Tue, 20 April:    9:00-5:00   subgroups meet
  1613.  
  1614. Wed, 21 April:    9:00-5:00   Open discussion with Ballot Resolution Team 
  1615.                               regarding significant changes to the draft 
  1616.                               required to resolve ballot objections.
  1617. Thu, 22 April:    9:00-5:00   Ballot Resolution team meet to continue the 
  1618.                               ballot resolution process.  
  1619.                   9:00-5:00   Liaisons will meet with their target working
  1620.                               group.
  1621.                   9:00-5:00   subgroups will continue to meet.
  1622.  
  1623. Fri, 23 April:    9:00-3:00   Ballot Resolution team meet to continue the 
  1624.                               ballot resolution process.  
  1625.                   9:00-3:00   Liaisons will meet with their target working
  1626.                               group.
  1627.                   9:00-3:00   subgroups will continue to meet.
  1628.                   3:00-5:00   Closing plenary to discuss progress and to
  1629.                               task any work that needs to be done before
  1630.                               the July meeting. If this plenary is deemed
  1631.                               unnecessary, each of the above groups will
  1632.                               continue their own work.    
  1633. ************************************************************************
  1634.  
  1635. WEDNESDAY OPEN DISCUSSION ON 1003.6 BALLOT ISSUES
  1636.  
  1637. In the process of resolving ballots on the P1003.6 document, several
  1638. contentious technical issues have been raised that the ballot resolution
  1639. group feels should be brought before the working group as a whole. These
  1640. issues are ones initiated by some balloters and disapproved by other 
  1641. balloters. The changes mandated by these balloters would fundamentally 
  1642. change the technical basis on which the interfaces were written. The 
  1643. following list is a sample of some of these issues. Other issues may also 
  1644. be raised.  The ballot resolution group will lead this discussion and welcome 
  1645. input from all those present, whether or not they are currently part of the 
  1646. balloting group.
  1647.  
  1648.           1. A set of balloters have objected to the inclusion of specific
  1649. privileges in the standard.  
  1650.           2. A set of balloters objected to the inclusion of the mask 
  1651. mechanism in ACL section of the standard. The mask was removed from draft
  1652. 13. A different set of balloters have now objected to the removal of the
  1653. mask from the specification.
  1654.           3. A set of balloters objected for the inclusion of multi-level
  1655. directories in the standard. These interfaces were removed from the standard
  1656. for the Draft 13 ballot. A different set of balloters have now objected 
  1657. to the removal of multi-level directories.
  1658.  
  1659.  
  1660.  
  1661. Volume-Number: Volume 31, Number 19
  1662.  
  1663. From std-unix-request@uunet.UU.NET  Thu Mar 18 15:51:40 1993
  1664. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1665.     (5.61/UUNET-mail-drop) id AA02244; Thu, 18 Mar 93 15:51:40 -0500
  1666. Received: from kithrup.com by relay1.UU.NET with SMTP 
  1667.     (5.61/UUNET-internet-primary) id AA08693; Thu, 18 Mar 93 15:51:12 -0500
  1668. From: Chuck Karish <karish@mindcraft.com>
  1669. Newsgroups: comp.std.unix
  1670. Subject: Re: Even Good Test Method Standards are Harmful
  1671. Organization: Kithrup Enterprises, Ltd.
  1672. Message-Id: <1oan6pINNfpp@ftp.UU.NET>
  1673. Nntp-Posting-Host: ftp.uu.net
  1674. X-Submissions: std-unix@uunet.uu.net
  1675. Xref: uunet comp.std.unix:2021
  1676. Date: 18 Mar 1993 12:48:25 -0800
  1677. Reply-To: std-unix@uunet.uu.net
  1678. To: std-unix@uunet.UU.NET
  1679. Sender: Network News <news@kithrup.com>
  1680. Source-Info:  From (or Sender) name not authenticated.
  1681.  
  1682. Submitted-by: karish@mindcraft.com (Chuck Karish)
  1683.  
  1684. In Volume 31, Number 16, amf@amfent.gwinnett.com (Andy Feibus) wrote:
  1685. >dave@88open.org (Dave Cline) writes:
  1686. >> It seems valid to argue against formal test method standards because:
  1687. >> 
  1688. >>   c) there is no mechanical way to ensure that both standards
  1689. >>      say the same thing.
  1690. >Taking this a step further, a test methods standard may not provide
  1691. >complete or completely correct test coverage of a standard.  Following
  1692. >from that, a test suite based
  1693. >on the test methods standard may not properly test the actual technology 
  1694. >it intends to verify.
  1695.  
  1696. At least if you there is a test methods standard, it's
  1697. possible to assess how  much coverage there is.  Where
  1698. there are test suites that are written as series of ad hoc
  1699. exercises for the implementation, there's no clear
  1700. specification against which the tests can be examined for
  1701. either completeness or correctness.
  1702.  
  1703. >So, if a test suite is only an implementation of the test methods standard
  1704. >and the test methods standard may not completely or correctly test the
  1705. >technology, what good is it?
  1706.  
  1707. It's a much better basis for verifying conformance than
  1708. we'd have otherwise.  I can pretty confidently guarantee
  1709. that without test methods standards we'd have less
  1710. confidence in our test suites and that implementations
  1711. would be tested less well than they are now.
  1712.  
  1713. Rather than compare the POSIX.1 testing situation with that
  1714. for ada, I find it instructive to consider the case of the
  1715. SVVS.  This test suite was written to test a somewhat
  1716. underspecified base document without formalizing the test
  1717. assertions.  The result was that the test suite itself
  1718. became the de facto standard, with no effective means for
  1719. review of its correctness.
  1720.  
  1721. >Even better -- or, more confusing --
  1722. >how do we verify that the test suite is a complete and correct
  1723. >implementation of the test methods standard (which may or may not be
  1724. >complete or correct)??
  1725.  
  1726. By reading them carefully, looking at the results when test
  1727. suites written to them are run, and correcting the test
  1728. suites and the test methods and the base specifications
  1729. when we find problems.  Just like any other software
  1730. product.
  1731.  
  1732.     Chuck Karish        karish@mindcraft.com
  1733.     Mindcraft, Inc.     (415) 323-9000 x117
  1734.  
  1735. Volume-Number: Volume 31, Number 20
  1736.  
  1737. From std-unix-request@uunet.UU.NET  Sun Mar 21 22:11:51 1993
  1738. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1739.     (5.61/UUNET-mail-drop) id AA05485; Sun, 21 Mar 93 22:11:51 -0500
  1740. Received: from kithrup.com (via garth.kithrup.com) by relay1.UU.NET with SMTP 
  1741.     (5.61/UUNET-internet-primary) id AA22935; Sun, 21 Mar 93 22:11:48 -0500
  1742. From: Frans Meulenbroeks <meulenbr@prl.philips.nl>
  1743. Newsgroups: comp.std.unix
  1744. Subject: controlling tty questions
  1745. Organization: Philips Research Laboratories Eindhoven, Netherlands
  1746. Message-Id: <1ojaj8INNrrl@ftp.UU.NET>
  1747. Nntp-Posting-Host: ftp.uu.net
  1748. X-Submissions: std-unix@uunet.uu.net
  1749. Xref: uunet comp.std.unix:2022
  1750. Date: 21 Mar 1993 19:08:24 -0800
  1751. Reply-To: std-unix@uunet.uu.net
  1752. To: std-unix@uunet.UU.NET
  1753. Sender: Network News <news@garth.kithrup.com>
  1754. Source-Info:  From (or Sender) name not authenticated.
  1755.  
  1756. Submitted-by: meulenbr@prl.philips.nl (Frans Meulenbroeks)
  1757.  
  1758. I'm trying to implement controlling ttys as specified in POSIX 1003.1,
  1759. but unfortunately the book is not very clear on what to do if 
  1760. there is no controlling tty, and an open on /dev/tty is attempted.
  1761. My best guess would be to reject the open and return an errno.
  1762. If that is right, then what is the best errno value to return?
  1763. EACCESS??  If that is wrong, what else should be done?
  1764.  
  1765. Also, it is not quite clear to me what should happen if the controlling
  1766. tty is disassociated from the session, while a child process still 
  1767. has a stream open to /dev/tty. The standard says that you should
  1768. behave as if a modem was disconnected, but what does that exactly
  1769. mean in operational terms (e.g. what happens with successive reads,
  1770. ioctls and writes; which error codes need to be returned etc.).
  1771.  
  1772. Any comment clearing up this matter is highly welcome.
  1773.  
  1774. Thanks,
  1775.  
  1776. -- 
  1777. Frans Meulenbroeks        (meulenbr@prl.philips.nl)
  1778.     Philips Research Laboratories
  1779.  
  1780. Volume-Number: Volume 31, Number 21
  1781.  
  1782. From std-unix-request@uunet.UU.NET  Sun Mar 21 22:11:53 1993
  1783. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1784.     (5.61/UUNET-mail-drop) id AA05490; Sun, 21 Mar 93 22:11:53 -0500
  1785. Received: from kithrup.com (via garth.kithrup.com) by relay1.UU.NET with SMTP 
  1786.     (5.61/UUNET-internet-primary) id AA22936; Sun, 21 Mar 93 22:11:48 -0500
  1787. From: Jeffrey Kegler <jeffrey@netcom.com>
  1788. Newsgroups: comp.std.unix
  1789. Subject: Re: Even Good Test Method Standards are Harmful
  1790. Organization: Algorists, Inc.
  1791. Message-Id: <1ojaljINNrtb@ftp.UU.NET>
  1792. References: <1nja8cINNc45@ftp.UU.NET> <1o3a76INNmse@ftp.UU.NET>
  1793. Nntp-Posting-Host: ftp.uu.net
  1794. X-Submissions: std-unix@uunet.uu.net
  1795. Xref: uunet comp.std.unix:2023
  1796. Date: 21 Mar 1993 19:09:39 -0800
  1797. Reply-To: std-unix@uunet.uu.net
  1798. To: std-unix@uunet.UU.NET
  1799. Sender: Network News <news@garth.kithrup.com>
  1800. Source-Info:  From (or Sender) name not authenticated.
  1801.  
  1802. Submitted-by: jeffrey@netcom.com (Jeffrey Kegler)
  1803.  
  1804. In article <1o3a76INNmse@ftp.UU.NET> dave@88open.org (Dave Cline) writes:
  1805. >In article <1nja8cINNc45@ftp.UU.NET>,
  1806. >    jeffrey@netcom.com (Jeffrey Kegler) writes:
  1807. >
  1808. >>The mathematical argument that the base standard implied by the test
  1809. >>method standard must be less rigorous than the original is
  1810. >>straightforward.  Most POSIX standards will specify a sufficiently
  1811. >>complex system to implement a Turing machine.  Testing that all
  1812. >>programs for a Turing machine correctly execute on a given black box
  1813. >>is impossible, even in theory -- it implies the solution of whole sets
  1814. >>of undecidable problems.
  1815. >
  1816. >I think that the reference to Turing might have been intended to refer
  1817. >to Goedel, but anyway, the reference is misplaced.   A Turing machine
  1818. >requires infinite storage.  If only finite storage is present, then
  1819. >one can, in theory, enumerate all the possible programs and their
  1820. >results.  With finite storage there is no halting problem.  One may
  1821. >well choose not to wait for the answers, though.  :-)
  1822.  
  1823. An outsider comparing these two paragraphs will come away with the
  1824. impression that at most one of the writers really knows Theory of
  1825. Computation.  One or more knows the terms, some of the names, and even
  1826. some of the definitions, but does not understand how the field works.
  1827. This impression is correct.
  1828.  
  1829. Hackers despise people who drop names, fall back on credentials, etc.,
  1830. realizing that good credentials often back poor arguments, and good
  1831. arguments often come without strong credentials.  This trait is one of
  1832. the joys of working in the community of hackers.  Nonetheless, what we
  1833. have here is two people claiming understanding of a difficult field,
  1834. where the full explanations would take too much space.  I hope then
  1835. the following will be seen as appropriate and helpful.  I have
  1836. published a referreed article in Theory ("Technical Correspondence",
  1837. Communications of the ACM, June 1986, V29N6).  It went to press with
  1838. the change of one typo in my submitted draft.  (It would seem from
  1839. this test that it is considerably less hassle to publish new results
  1840. in CACM than trivial ones in comp.std.unix!)  I don't claim to be more
  1841. than an extremely minor figure in the Theory world.  I do claim to
  1842. know what I am talking about when I am careful to stick to the
  1843. mathematically trivial and obvious, as I did above.
  1844.  
  1845. More in the way of justification follows.  Those who know Theory of
  1846. Computation well with find nothing new here.  Those who never cared
  1847. about Theory will find nothing that should make them reconsider that
  1848. opinion.  To the extent they wish to give me further attention at all
  1849. they may jump to the conclusion at the end.  Those who do care some,
  1850. and would like to know more, may find their time rewarded.
  1851.  
  1852. 1.  My reference to the Turing machine is boilerplate.  In order to
  1853. establish the relevance of the usual theorems, a result usually starts
  1854. by demonstrating equivalence to one of the usual theoretical models,
  1855. the Turing machine being the most common.  In theory, this
  1856. demonstration consists of a proof that the new computation model can
  1857. implement a Turing machine, and vice versa.  In practice, these facts
  1858. are usually so obvious that the technique I employed above, known as
  1859. "hand-waving", is all that is done.
  1860.  
  1861. The applicability of Goedel's undecidability results, and of a host of
  1862. others, is established via the Turing machine.
  1863.  
  1864. 2.  Dave Cline is right when he says the Turing machine allows for
  1865. infinite space, in its quaint old model, using an infinite tape.  He
  1866. then attempts a demonstration of the irrelevance of any such model to
  1867. finite computation.  First off, let me point out, that since we are
  1868. discussing standards, not physical machines, so the matters under
  1869. discussion are all theoretical models.  Unless they specifically point
  1870. out that "no implementation shall be capable of simulating a Turing
  1871. machine with a tape containing more than 711 gigabits.", or
  1872. mathematically equivalent language, the standards are, in many cases,
  1873. Turing machine equivalent in the strict sense.
  1874.  
  1875. 3.  But even taking the infinite/finite point as seriously as I just
  1876. did in the previous paragraph is very misleading.  If we accept that
  1877. Dave Cline's point was even potentially valid, it means that no
  1878. infinite model is relevant in application to actual, physical, finite
  1879. machines.  Big O notation is irrelevant for example.  Saying an
  1880. algorithm requires O(log n) time, as opposed to O(n), is meaningless
  1881. in real life.  The halting problem, as Dave points out, now can be
  1882. considered quite solvable.
  1883.  
  1884. Even stupid little finite state automata handle infinite inputs, so
  1885. they too must get the heave-ho.  So the math underlying regular
  1886. expressions is irrelevant as well.
  1887.  
  1888. Dave Cline takes issue, not with my use of Theory of Computation, but
  1889. with the basics of most of the field.
  1890.  
  1891. 4.  Almost all mathematics of computation uses infinite models at some
  1892. point.  For that matter, accountants use the integers, of which there
  1893. is an infinite number, to represent dollars and cents, even though
  1894. none of their clients (except possibly the Federal Reserve) has access
  1895. to infinite funds.  This point is more than verbal trickery.  The fact
  1896. is that models implying infinity are used routinely in even low level
  1897. math, for extremely mundane and practical uses.
  1898.  
  1899. This did not come about without a good deal of debate.  The Greeks had
  1900. great trouble with the theoretical difficulties the use of infinity
  1901. implies.  The more practically minded Indian mathematicians just went
  1902. ahead and did it.  They resolved none of the theoretical difficulties,
  1903. but made great strides in practice, and our modern daily use of
  1904. arithmetic comes from India.  A solid theoretical underpinning to the use of
  1905. infinity did not come about until around 1900.
  1906.  
  1907. In short, Theory of Computation is based on models of computation
  1908. embodying potential infinities, just as engineering or accounting.
  1909.  
  1910. 5.  Perhaps paradoxically, infinite models are almost always *more*
  1911. relevant to practice than finite ones.  Take Dave Cline's example of
  1912. the halting problem.  On a finite machine it's solvable by
  1913. enumeration, he correctly states.  On the real machine, however, which
  1914. does have potentially infinite time available, we must take into
  1915. account in counting space all the tapes we could mount, all the new
  1916. disks we could buy, all the storage we could access over a net and all
  1917. the technological improvements that might come along.  The infinite
  1918. tape winds up modeling the complexities of the real world as well or
  1919. better than any finite model -- and the math is easier, no small
  1920. consideration.
  1921.  
  1922. Take the argument that on your finite-sized machine the halting
  1923. problem is solvable (by enumeration, based on its finitude), and the
  1924. argument that the problem is undecidable -- which is the more
  1925. practical?  Anyone wishing to say the former is the more relevant
  1926. logic, could prove his case by contributing to the FSF a utility to
  1927. solve the halting problem [ or perhaps it could be a lint hack :-) ].
  1928.  
  1929. Conclusion: My brief essay into math was intended to make strongly the
  1930. point that many essential assertions contained in base standards are
  1931. not testable.  This point is one that one does not need Theory of
  1932. Computation to decide.  It's fairly obvious to anyone with a hackerly
  1933. bent.
  1934.  
  1935. In the rare cases where Theory can make an argument stronger, I like
  1936. to employ it.  It makes me feel my youthful studies were not entirely
  1937. in vain.  Those who don't care for Theory can safely skip the details,
  1938. leaping ahead to the result, and seeing it was pretty obvious without
  1939. all the BS.
  1940.  
  1941. Whether the argument is from Theory or Hackery, test method standards
  1942. *must* be watered down versions of the base standard.  No one has
  1943. argued this, not even those who appear to be willing to tilt their
  1944. lance at whole subfields of Comp. Sci.
  1945. -- 
  1946. Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc.
  1947. jeffrey@algor2.ALGORISTS.COM
  1948. 137 E Fremont AVE #122, Sunnyvale CA 94087
  1949. "Chairman Warren, if you felt your life was in danger at the moment,
  1950.  
  1951. [ I'm not sure this thread belongs in comp.std.unix anylonger -- mod ]
  1952.  
  1953. Volume-Number: Volume 31, Number 22
  1954.  
  1955. From std-unix-request@uunet.UU.NET  Mon Mar 22 14:49:00 1993
  1956. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  1957.     (5.61/UUNET-mail-drop) id AA28717; Mon, 22 Mar 93 14:49:00 -0500
  1958. Received: from kithrup.com (via garth.kithrup.com) by relay1.UU.NET with SMTP 
  1959.     (5.61/UUNET-internet-primary) id AA20511; Mon, 22 Mar 93 14:48:55 -0500
  1960. From: Lee Schermerhorn <lts@westford.ccur.com>
  1961. Newsgroups: comp.std.unix
  1962. Subject: Re: POSIX .4 signals
  1963. Organization: Concurrent Computer Corp.  Westford, MA
  1964. Message-Id: <1ol4trINNon6@ftp.UU.NET>
  1965. References: <1nja8cINNc45@ftp.UU.NET> <1nlforINN1ol@ftp.UU.NET> <1no7q3INNqs@ftp.UU.NET>
  1966. Nntp-Posting-Host: ftp.uu.net
  1967. X-Submissions: std-unix@uunet.uu.net
  1968. Xref: uunet comp.std.unix:2024
  1969. Date: 22 Mar 1993 11:43:55 -0800
  1970. Reply-To: std-unix@uunet.uu.net
  1971. To: std-unix@uunet.UU.NET
  1972. Sender: Network News <news@garth.kithrup.com>
  1973. Source-Info:  From (or Sender) name not authenticated.
  1974.  
  1975. Submitted-by: lts@westford.ccur.com (Lee Schermerhorn)
  1976.  
  1977. >Submitted-by: rcollins@encore.com (Roger Collins)
  1978. >
  1979. >Do signals preempt a user's signal handler?
  1980. >
  1981. >In other words, you're in a user signal handler, a signal is delivered
  1982. >which is caught and unblocked, does it preempt the currently running
  1983. >signal handler to run the signal handler for the new signal?  if it
  1984. >is a lower numbered signal?
  1985.  
  1986. Yes -- just as in Posix.1 signals -- handlers do nest.  It doesn't matter
  1987. whether the new incoming signal is a lower number or not.  If it is
  1988. unblocked (and caught) at the time of generation, it will be delivered.
  1989. The only new semantics that Posix.4 bring are:
  1990.  
  1991. 1)  a specification of queueing of multiple occurences of a signal.  Posix.1
  1992.     leaves this implementation defined (1003.1-1990, sect 3.3.1.2, p.53,
  1993.     lines 463-464).
  1994.  
  1995. 2)  a specification of ordering of delivery when more than one signal is
  1996.     pending an unblocked:  within the range of "realtime" signals defined
  1997.     by Posix.4, lower numbers are delivered first (the rationale explains
  1998.     why);  the order outside of the "realtime" range is unspecifed.  Posix.1
  1999.     left the ordering unspecified (op cit, lines 464-466).
  2000.  
  2001. 3)  a specification of the delivery of additional signal information.
  2002.     This was essentially lifted from the SVR4 "siginfo" behavior, with
  2003.     the addition of an application defined datum that can be passed with
  2004.     the signal.
  2005.  
  2006. You might wonder if a subsequent occurence of a signal can preempt the
  2007. signal handler for the same signal, causing it to be reentered.  It could,
  2008. but only if the application explicitly unblocked the signal from within
  2009. the handler.  When the signal is delivered, its signal number is
  2010. automatically added to the process's current blocked signals mask.
  2011.  
  2012. Lee Schermerhorn
  2013. Concurrent Computer Corp
  2014. Secretary, P1003.4 WG
  2015. Technical Reviewer, P1003.4 various sections
  2016.  
  2017.  
  2018. Volume-Number: Volume 31, Number 23
  2019.  
  2020. From std-unix-request@uunet.UU.NET  Tue Mar 23 14:54:16 1993
  2021. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2022.     (5.61/UUNET-mail-drop) id AA07264; Tue, 23 Mar 93 14:54:16 -0500
  2023. Received: from kithrup.com (via garth.kithrup.com) by relay1.UU.NET with SMTP 
  2024.     (5.61/UUNET-internet-primary) id AA07560; Tue, 23 Mar 93 14:53:51 -0500
  2025. From: peter da silva <peter@ferranti.com>
  2026. Newsgroups: comp.std.unix
  2027. Subject: Re: controlling tty questions
  2028. Organization: Xenix Support, FICC
  2029. Message-Id: <1onos5INNhnl@ftp.UU.NET>
  2030. References: <1ojaj8INNrrl@ftp.UU.NET>
  2031. Nntp-Posting-Host: ftp.uu.net
  2032. X-Submissions: std-unix@uunet.uu.net
  2033. Xref: uunet comp.std.unix:2025
  2034. Date: 23 Mar 1993 11:36:37 -0800
  2035. Reply-To: std-unix@uunet.uu.net
  2036. To: std-unix@uunet.UU.NET
  2037. Sender: Network News <news@garth.kithrup.com>
  2038. Source-Info:  From (or Sender) name not authenticated.
  2039.  
  2040. Submitted-by: peter@ferranti.com (peter da silva)
  2041.  
  2042. In article <1ojaj8INNrrl@ftp.UU.NET> meulenbr@prl.philips.nl (Frans Meulenbroeks) writes:
  2043. >My best guess would be to reject the open and return an errno.
  2044. >If that is right, then what is the best errno value to return?
  2045. >EACCESS?
  2046.  
  2047. I don't think a *device* should ever return EACCESS or (for that matter)
  2048. ENOENT. I've had *both* of them, and every time I (or the person I'm working
  2049. with) has gone scurrying around trying to figure out what file the program
  2050. was really trying to use. Why? Because almost always these errors *are* due
  2051. to some program calling perror incorrectly with the wrong name.
  2052.  
  2053. I would suggest ENXIO, EINVAL, or even ENODEV.
  2054.  
  2055. -- 
  2056. Peter da Silva                                            `-_-'
  2057. Ferranti International Controls Corporation                'U` 
  2058. 12808 West Airport Blvd.  Sugar Land, TX  77478  USA
  2059. +1 713 274 5180                            "Zure otsoa besarkatu al duzu gaur?"
  2060.  
  2061. Volume-Number: Volume 31, Number 24
  2062.  
  2063.  
  2064. From std-unix-request@uunet.UU.NET  Wed Mar 24 20:18:02 1993
  2065. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2066.     (5.61/UUNET-mail-drop) id AA03997; Wed, 24 Mar 93 20:18:02 -0500
  2067. Received: from kithrup.com (via garth.kithrup.com) by relay1.UU.NET with SMTP 
  2068.     (5.61/UUNET-internet-primary) id AA11652; Wed, 24 Mar 93 20:17:42 -0500
  2069. From: "Scott E. Preece" <preece@urbana.mcd.mot.com>
  2070. Newsgroups: comp.std.unix
  2071. Subject: Work on a uniform API for GUI programming
  2072. Organization: Kithrup Enterprises, Ltd.
  2073. Message-Id: <1oqhinINNrve@ftp.UU.NET>
  2074. Nntp-Posting-Host: ftp.uu.net
  2075. X-Submissions: std-unix@uunet.uu.net
  2076. Xref: uunet comp.std.unix:2028
  2077. Date: 24 Mar 1993 12:50:31 -0800
  2078. Reply-To: std-unix@uunet.uu.net
  2079. To: std-unix@uunet.UU.NET
  2080. Sender: Network News <news@garth.kithrup.com>
  2081. Source-Info:  From (or Sender) name not authenticated.
  2082.  
  2083. Submitted-by: preece@urbana.mcd.mot.com (Scott E. Preece)
  2084.  
  2085.          Towards a Uniform API for GUI Programming
  2086.  
  2087. Four years ago the IEEE began an effort to produce a
  2088. standard GUI API based on X.  After about 30 months of
  2089. debate over whether the result should be OPEN LOOK or
  2090. OSF/Motif, working group P1201.1 changed course, its new
  2091. mission to write a standard for a multi-GUI API, an API that
  2092. would be implementable on top of a wide range of GUI bases.
  2093. The API must be independent of the look and feel of the
  2094. delivered interface, yet must support a wide range of
  2095. interface functionality.
  2096.  
  2097. P1201.1 has gotten technical input from the authors of a
  2098. wide range of multi-GUI toolkits and UIMS systems.  The
  2099. group has focused its work on developing a programming
  2100. language independent model of GUI programming, on which
  2101. language specific bindings will be based.  The model
  2102. abstracts core elements of the computational model of
  2103. several existing multi-GUI toolkits, including XVT, Galaxy,
  2104. and THINGS, expressed in an object-based computational model
  2105. similar to the programming style of the Xview toolkit.
  2106. Interface components are modeled by objects manipulated by
  2107. simple object management services (create, destroy, get-
  2108. attribute, set-attribute).  The user interface is event-
  2109. driven; events are directed to event handlers associated
  2110. with each object.
  2111.  
  2112. P1201.1 has recently released Draft 7 of its document in
  2113. progress.  This draft is the first to present the bones of
  2114. the entire model (though some areas have only a little flesh
  2115. covering the bones).  At the next IEEE POSIX meeting (19-23
  2116. April in Irvine, CA) the group will review the entire
  2117. document and work on the details of several key areas and
  2118. will also begin serious consideration of the C language
  2119. binding.
  2120.  
  2121. At this point the group is looking for an expanded core of
  2122. interested parties to validate our model and to contribute
  2123. to the completion of the standard.  IEEE standards are
  2124. supposed to represent a consensus of opinion of a reasonable
  2125. slice of the industry; the current working group is diverse,
  2126. but small.  We invite the participation of new members; this
  2127. meeting would be an especially useful time to join in, as we
  2128. will be reviewing the whole document to figure out writing
  2129. assignments for completing the language-independent
  2130. specification and will be making decisions about the form of
  2131. the C API.
  2132.  
  2133. We would especially appreciate participation of vendors,
  2134. implementors, and users of multi-GUI toolkits, who could
  2135. apply their experience to identifying problems or gaps in
  2136. our model.
  2137.  
  2138. The meeting is 19-23 April 1993 and will be held at the
  2139. Irvine Marriott Hotel, in Irvine, CA.  The room rate for
  2140. this meeting is $88, single occupancy, if reserved before 26
  2141. March (the hotel telephone number is 714-553-0100, specify
  2142. the IEEE P1003 meeting).
  2143.  
  2144. Although IEEE TCOS meetings are open to all, they are not
  2145. free.  The IEEE charges $200 ($230 with four days lunches
  2146. included) to attend TCOS meetings.  To get a registration
  2147. form, call Brenda Williams at the IEEE Computer Society
  2148. (telephone 202-371-0101); she can also provide forms for
  2149. subscribing to the mailing service that distributes work
  2150. group documents.
  2151.  
  2152. I am the Chair of P1201.1.  I would be happy to try to
  2153. answer questions about the meetings and to provide copies of
  2154. the current draft to those who plan to participate or who
  2155. would like to review it and comment electronically.
  2156.  
  2157. If you do decide to come to the meeting, please let me know
  2158. (preferably by e-mail), so I can track copying and space
  2159. requirements.
  2160.  
  2161.            Scott Preece
  2162.            Motorola Computer Group
  2163.            1101 E. University Avenue,
  2164.            Urbana, IL   61801
  2165.  
  2166.            Internet e-mail:  preece@urbana.mcd.mot.com
  2167.            Telephone:        217-384-8589
  2168.            Fax:              217-384-8550
  2169.  
  2170.  
  2171. The remainder of this posting is a low-resolution overview
  2172. of our computational model.
  2173.  
  2174. ===========================================================
  2175.  
  2176.     The P1201.1 Uniform API for GUI Programming
  2177.  
  2178. The Uniform API (UAPI) defines a set of services for defining
  2179. an application's user interface.  An interface programmed to
  2180. the UAPI sufficiently abstract that it can be mapped into any
  2181. of a wide range of native window systems.
  2182.  
  2183. The UAPI remains abstract by limiting the application's
  2184. ability to specify low-level visual details and by allowing
  2185. the application to use opaque representations of primitives
  2186. obtained, by the implementation, from the native window
  2187. system.
  2188.  
  2189. This model defers many decisions about placement, visual
  2190. representation, and other aspects of the user interface to
  2191. the implementation, which must support the UAPI primitives
  2192. in a way appropriate to the native window system.  In
  2193. principle, the application uses the UAPI primitives to say
  2194. what interactions are possible between the user and the
  2195. application, without saying very much about how those
  2196. interactions are implemented or what they look like to the
  2197. user.
  2198.  
  2199. Application Model > The UAPI presents an event-driven model
  2200. of interaction between the application code and the user
  2201. interface.
  2202.  
  2203. The UAPI toolkit reacts to user actions by calling
  2204. application-provided event handler routines corresponding to
  2205. the individual actions each visual object supports.  Each
  2206. user action represented in the UAPI model has a
  2207. corresponding event.
  2208.  
  2209. When the application instantiates a window or control, it
  2210. can provide handlers for any events that object supports.
  2211.  
  2212. The UAPI implementation provides an event loop, to which the
  2213. application hands control after constructing the needed
  2214. objects and handlers and setting up any required initial
  2215. state.  The event loop waits for user actions (or
  2216. notifications from time or data driven application
  2217. components) and dispatches them to the appropriate event
  2218. handlers.
  2219.  
  2220. Objects and Attributes > An application defines its interface
  2221. in terms of objects that appear on the user's display.  Each
  2222. object belongs to an object class that defines what the
  2223. behavior of the object is and what internal state it
  2224. contains.
  2225.  
  2226. Most interaction between objects in the UAPI or between the
  2227. application and the objects defining its user interface
  2228. occurs through the manipulation of attributes of the object.
  2229. All objects of a given class contain the same attributes.
  2230. The toolkit provides operations to get or set the value of
  2231. each attribute.
  2232.  
  2233.      Some attributes represent the object's stored data;
  2234.      setting such an attribute determines the value which
  2235.      will be retrieved by subsequently getting the value of
  2236.      the same attribute.
  2237.  
  2238.      Some attributes represent structural information about
  2239.      the object, provided by the toolkit; setting the value
  2240.      of such an attribute may not be allowed or may have
  2241.      side effects beyond changing the value.
  2242.  
  2243.      Some attributes are handles through which the
  2244.      application can determine the behavior of the object;
  2245.      setting such an attribute has side effects which may
  2246.      not be directly reflected in the value retrieved by
  2247.      getting the value of the attribute.
  2248.  
  2249. An enclosure object corresponds to an screen area displayed
  2250. to the user in which the application may place other visual
  2251. objects.
  2252.  
  2253. A control is an object corresponding to a visual element
  2254. with which the user may interact.
  2255.  
  2256. Non-visual objects provide supporting functionality for the
  2257. application to use, such as lists and timers, but do not
  2258. directly correspond to anything visible on screen.
  2259.  
  2260. Events >            Each class of object recognizes a
  2261. defined set of user actions as indicating events which
  2262. should be transmitted to the application.  The application
  2263. may associate one or more event handler routines with each
  2264. event the object can generate.  When a user action occurs,
  2265. the toolkit calls all the event handlers for the
  2266. corresponding event, providing each with a piece of data
  2267. supplied by the application and with information describing
  2268. the exact nature of the event.
  2269.  
  2270. The application can also send events to objects and objects
  2271. may send events to other objects.
  2272.  
  2273. Fonts >             A font is an object designating a
  2274. particular style of text display.  The UAPI provides
  2275. services for obtaining a native font object by attribute
  2276. matching or by user interaction.  A UAPI implementation is
  2277. required to provide font objects with certain common names,
  2278. so that a portable application may request certain common
  2279. text style distinctions.
  2280.  
  2281. Color >             A color is an object designating a
  2282. particular style of visual presentation of an area of a
  2283. screen.  The UAPI provides services for obtaining a native
  2284. color object by attribute matching or by user interaction.
  2285. A UAPI implementation is required to provide color objects
  2286. with certain common names, so that a portable application
  2287. may request certain common visual distinctions.
  2288.  
  2289. Help System >       The UAPI will include interfaces for
  2290. registering and providing help services; this area is still
  2291. under discussion.  The goal is to support delivery using (a)
  2292. a native help system, (b) an enterprise help system, or (c)
  2293. a toolkit-provided help system.
  2294.  
  2295. Resources >         Resources are object definitions defined
  2296. and stored external to the application and used to provide
  2297. attribute values when objects are instantiated.
  2298.  
  2299. A UAPI toolkit must provide a tool which reads resource
  2300. definitions in a standard format and sets the stored
  2301. resources for an application appropriately.
  2302.  
  2303. Selections >        A selection is a named piece of data
  2304. made available to the application.  A selection may be made
  2305. available by the application or by the UAPI implementation;
  2306. the toolkit may provide a selection either as a result of an
  2307. interaction with the user designating a value as a selection
  2308. or as a result of external events, including actions of
  2309. other applications.
  2310.  
  2311. An implementation provides one or more selection lists, each
  2312. containing one or more named selections, each of which is
  2313. available in one or more named formats.
  2314.  
  2315. Selections also provide a protocol for exchanging data
  2316. dynamically, using a sequence of events passed back and
  2317. forth between the provider of the selection and the
  2318. application.  This dynamic exchange also provides drag-and-
  2319. drop capabilities.
  2320.  
  2321. Volume-Number: Volume 31, Number 27
  2322.  
  2323. From std-unix-request@uunet.UU.NET  Fri Mar 26 16:03:40 1993
  2324. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2325.     (5.61/UUNET-mail-drop) id AA07752; Fri, 26 Mar 93 16:03:40 -0500
  2326. Received: from kithrup.com by relay1.UU.NET with SMTP 
  2327.     (5.61/UUNET-internet-primary) id AA21378; Fri, 26 Mar 93 16:03:16 -0500
  2328. From: std-unix-request@uunet.uu.net
  2329. Newsgroups: comp.std.unix
  2330. Subject: Re: Even Good Test Method Standards are Harmful
  2331. Organization: Algorists, Inc.
  2332. Sender: sef@ftp.uu.net
  2333. Message-Id: <1ovqhcINNseh@ftp.UU.NET>
  2334. References: <1ojaljINNrtb@ftp.UU.NET> <1oqhg1INNrs4@ftp.UU.NET>
  2335. Nntp-Posting-Host: ftp.uu.net
  2336. X-Submissions: std-unix@uunet.uu.net
  2337. Xref: uunet comp.std.unix:2029
  2338. Date: 26 Mar 1993 12:54:04 -0800
  2339. Reply-To: std-unix@uunet.uu.net
  2340. To: std-unix@uunet.UU.NET
  2341. Source-Info:  From (or Sender) name not authenticated.
  2342.  
  2343. Submitted-by: jeffrey@netcom.com (Jeffrey Kegler)
  2344.  
  2345. In article <1oqhg1INNrs4@ftp.UU.NET> dave@88open.org (Dave Cline) writes:
  2346. >In article <1ojaljINNrtb@ftp.UU.NET>,
  2347. >             jeffrey@netcom.com (Jeffrey Kegler) writes:
  2348. >> First off, let me point out, that since we are
  2349. >> discussing standards, not physical machines, so the matters under
  2350. >> discussion are all theoretical models.
  2351. >
  2352. >Standards contain limits making them finite.  For example, input
  2353. >and output arguments in POSIX.1 are defined in terms of their
  2354. >ANSI C realizations (2.9.1) and are clearly finite (e.g. INT_MAX,
  2355. >sizeof(char *), etc.).
  2356.  
  2357. The readership of comp.std.unix should be able to spot the above
  2358. reading of the standard as wrong with no trouble.  As a reading of ANSI
  2359. X3.159-1989, section 2.2.4.2.1 shows, INT_MAX is a *minimum* -- the
  2360. standard gives a magnitude they must be at least as large as, but
  2361. implementors may define their magnitudes larger.  sizeof(char *) is
  2362. implementation defined, pure and simple (3.3.3.4, 3.3.4, F.3.7).
  2363.  
  2364. But suppose it were right.  Is a memory which can consist of an
  2365. infinite number of finite words, infinite in extent, or finite?
  2366. Mathematics and intuition agree here, that an infinite number of 32 bit
  2367. words contains an infinite number of bits.
  2368.  
  2369. With the standards and the math, Dave knows the vocabulary, but just
  2370. randomly jumbles it.  It looks convincing as long as you know nothing
  2371. about what's being discussed.  Dave should consider going into
  2372. management.
  2373.  
  2374. >Proofs of the halting problem and undecidabilty all rely on the
  2375. >fundamental assumption that the state space of the computation model
  2376. >is infinite.  Changing from "infinite" to "very large" invalidates
  2377. >the proofs.  Our current standards and the machines that implement
  2378. >them are finite.  One cannot use Theory of Computation conclusions
  2379. >about the halting problem or undecidability if the premises are not
  2380. >satisfied.  Jeffrey's appeal to Turing complexity is unjustified.
  2381.  
  2382. Herbert S. Wilf, _Algorithms and Complexity_:  "We are going to talk
  2383. about a Turing machine.  It is an idealized computer, and its purpose
  2384. is to standardize ideas of computability and time of computation by
  2385. referring all problems to the one standard machine. ... The beauty of
  2386. the Turing machine is that it is at once a strong enough concept that
  2387. it can in principle perform any calculation that any other finite-state
  2388. machine can do, while at the same time it is logically clean and simple
  2389. enough to be useful for proving theorems about complexity.  The
  2390. microcomputer on your desktop might have been chosen as the standard
  2391. against which polynomial-time computability is measured."
  2392.  
  2393. Incidentally, for someone desiring a good introduction to Theory of
  2394. Computation, which has the virtue of focusing on essentials, avoiding
  2395. much of the wearying detail that afflicts most such texts, I recommend
  2396. Wilf.
  2397.  
  2398. Speaking of wearying detail, the moderator is losing patience with this
  2399. thread, and I cannot blame him.  This will be my last post in reply to
  2400. Cline.  This will allow him to have the last word, or as many such as
  2401. the moderator cares to allow.  I can pretty much guarantee I won't even
  2402. reply to new points raised, however outrageous -- I don't plan to read
  2403. any more of Dave's posts.
  2404.  
  2405. I do plan to follow the rest of the discussion, and where I read
  2406. arguments cogent enough to demand explication, extension or revision of
  2407. my statements, I hope for the indulgence of the moderator.
  2408.  
  2409. -- 
  2410. Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc.
  2411. jeffrey@algor2.ALGORISTS.COM
  2412. 137 E Fremont AVE #122, Sunnyvale CA 94087
  2413.  
  2414. [ Unless further messages have a more direct relevance to "unix standards,"
  2415.   I will not post them.  I think the subject of testing is extremely
  2416.   important, both to standards and software in general, but this is
  2417.   no longer pertaining to the topic at hand.  Please feel free to yell at me if
  2418.   you disagree -- mod ]
  2419.  
  2420. Volume-Number: Volume 31, Number 28
  2421.  
  2422. From std-unix-request@uunet.UU.NET  Sat Mar 27 17:43:26 1993
  2423. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2424.     (5.61/UUNET-mail-drop) id AA07108; Sat, 27 Mar 93 17:43:26 -0500
  2425. Received: from kithrup.com by relay1.UU.NET with SMTP 
  2426.     (5.61/UUNET-internet-primary) id AA11638; Sat, 27 Mar 93 17:43:23 -0500
  2427. Xref: kithrup.com comp.std.unix:13 comp.sys.sun.apps:1 comp.unix.sys5.r4:1 comp.unix.solaris:1
  2428. From: std-unix-request@uunet.uu.net
  2429. Newsgroups: comp.std.unix,comp.sys.sun.apps,comp.unix.sys5.r4,comp.unix.solaris
  2430. Subject: Defining _POSIX_SOURCE on Solaris2.1 makes gdb-4.8 not compile
  2431. Followup-To: comp.unix.solaris
  2432. Organization: The Wollongong Group, Inc., Palo Alto, CA
  2433. Sender: sef@ftp.uu.net
  2434. Distribution: inet
  2435. Message-Id: <1p2h2qINNb29@ftp.UU.NET>
  2436. Nntp-Posting-Host: ftp.uu.net
  2437. X-Submissions: std-unix@uunet.uu.net
  2438. Date: 27 Mar 1993 13:31:06 -0800
  2439. Reply-To: std-unix@uunet.uu.net
  2440. To: std-unix@uunet.UU.NET
  2441. Source-Info:  From (or Sender) name not authenticated.
  2442.  
  2443. Submitted-by: david@twg.com ("David Herron")
  2444.  
  2445. Greetings!
  2446.  
  2447. I am compiling up the GNU tools for our Solaris 2.1 system (to get my
  2448. feet wet on there y'see).  Most have been going together well enough
  2449. but gdb just won't go.  This is because of silliness in the include
  2450. files supplied by Sun.
  2451.  
  2452. In bfd/elf.c is #include <sys/procfs.h>.  The following inconsistencies are
  2453. there:
  2454.  
  2455. sys/procfs.h contains uses of:
  2456.  
  2457.     sigset_t
  2458.     u_long, u_char, u_short and u_int
  2459.     siginfo_t
  2460.     struct sigaltstack
  2461.  
  2462. sys/types.h
  2463.  
  2464.     defines u_long &c only when !defined(_POSIX_SOURCE)
  2465.  
  2466. sys/signal.h
  2467.  
  2468.     defines sigset_t when defined(_POSIX_SOURCE)
  2469.     defines struct sigaltstack when !defined(_POSIX_SOURCE)
  2470.  
  2471. sys/siginfo.h
  2472.  
  2473.     defines siginfo_t when !defined(_POSIX_SOURCE)
  2474.  
  2475. So there is no way a file containing sys/procfs.h can be defined.
  2476.  
  2477. My workaround is to copy sys/signal.h, sys/siginfo.h and sys/procfs.h
  2478. to /opt/gnu/lib/gcc-lib/.../include/sys and hack away.
  2479.  
  2480. This solution is a rude workaround though.  It makes some non-POSIX
  2481. symbols be visible when POSIX_SOURCE is defined.  HOWEVER.. I don't see
  2482. how you're supposed to get work accomplished when POSIX_SOURCE is not
  2483. defined since that is the only way to get many interesting things only defined!
  2484. And then to have any non-POSIX symbol be not visible when it is defined
  2485. just makes things downright hard!
  2486.  
  2487. David Herron <david@twg.com> (work) <david@davids.mmdf.com> (home)
  2488.  
  2489. [ Note crossposting, and followup -- mod ]
  2490.  
  2491. Volume-Number: Volume 31, Number 29
  2492.  
  2493. From std-unix-request@uunet.UU.NET  Tue Mar 30 18:41:15 1993
  2494. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2495.     (5.61/UUNET-mail-drop) id AA22560; Tue, 30 Mar 93 18:41:15 -0500
  2496. Received: from kithrup.com by relay1.UU.NET with SMTP 
  2497.     (5.61/UUNET-internet-primary) id AA18826; Tue, 30 Mar 93 18:40:40 -0500
  2498. From: std-unix-request@uunet.uu.net
  2499. Newsgroups: comp.std.unix
  2500. Subject: Re: Even Good Test Method Standards are Harmful
  2501. Organization: Kithrup Enterprises, Ltd.
  2502. Sender: sef@ftp.uu.net
  2503. Message-Id: <1palcaINNglb@ftp.UU.NET>
  2504. Nntp-Posting-Host: ftp.uu.net
  2505. X-Submissions: std-unix@uunet.uu.net
  2506. Date: 30 Mar 1993 15:33:30 -0800
  2507. Reply-To: std-unix@uunet.uu.net
  2508. To: std-unix@uunet.UU.NET
  2509. Source-Info:  From (or Sender) name not authenticated.
  2510.  
  2511. Submitted-by: dave@88open.org (Dave Cline)
  2512.  
  2513. [ A surprise!  An article that actually mentions a standard or two! -- mod ]
  2514.  
  2515. >In article <1ovqhcINNseh@ftp.UU.NET>
  2516. >             jeffrey@netcom.com (Jeffrey Kegler) writes:
  2517.  
  2518. Note to Jeffrey: IMO, your repeated ad hominem attacks are
  2519. unprofessional.
  2520.  
  2521. [ And no more will be tolerated by me.  I will shamelessy use my
  2522.   editorial ability to remove them, if necessary.  Anything Dave
  2523.   and Jeffrey have to say about each other they can say in private
  2524.   from now on.  Both parties, and third parties, have expressed
  2525.   unhappiness at the way the discussion has gone, and I apologise
  2526.   heartily for that.  My only excuse is that I have been replacing
  2527.   my computer system, and was somewhat distracted.  I will try not
  2528.   to let it happen again -- mod ]
  2529.  
  2530. >The readership of comp.std.unix should be able to spot the above
  2531. >reading of the standard as wrong with no trouble.  As a reading of ANSI
  2532. >X3.159-1989, section 2.2.4.2.1 shows, INT_MAX is a *minimum* -- the
  2533. >standard gives a magnitude they must be at least as large as, but
  2534. >implementors may define their magnitudes larger.
  2535.  
  2536. Sure, an *implementation* is free to extend the range of
  2537. integers beyond the minimum guaranteed INT_MAX value.  That's a
  2538. given.  However, the context of this discussion is test method
  2539. standards and test suites for various Unix standards (not just
  2540. the misapplication of Turing machine models).  The rules are
  2541. obviously a bit different for test suites, (or at least it seems
  2542. to me that it should have been obvious). 
  2543.  
  2544. A test method implementation that blindly stores a value greater
  2545. than the minimum guaranteed value of INT_MAX into an int is
  2546. incorrect, or at least not strictly conforming according to the
  2547. ANSI C and POSIX.1 rules.  A standard conforming C compilation
  2548. system could (quite properly) reject such a test implementation
  2549. if the implementation supported only a 16 bit ints.  If the
  2550. conformance test suite isn't portable, it isn't a valid test of
  2551. system conformance.  So while INT_MAX may not constrain an
  2552. implementation, it does constrain a test suite. 
  2553.  
  2554. >sizeof(char *) is
  2555. >implementation defined, pure and simple (3.3.3.4, 3.3.4, F.3.7).
  2556.  
  2557. Agreed, sizeof(char *) is implementation defined.  But it must be
  2558. finite. 
  2559.  
  2560. The reasoning is as follows: a conforming compilation system
  2561. must accept all strictly conforming programs (X3.159-1989
  2562. section 1.7).  A strictly conforming program that computes (at
  2563. runtime) the usual idiom for the number of elements in an array
  2564. of character pointers (sizeof(x)/sizeof(x[0])) would fail if 
  2565. sizeof(char *) was unbounded because +infinity/+infinity makes
  2566. no arithmetic sense.  OK? 
  2567.  
  2568. >But suppose it were right.  Is a memory which can consist of an
  2569. >infinite number of finite words, infinite in extent, or finite?
  2570. >Mathematics and intuition agree here, that an infinite number of 32 bit
  2571. >words contains an infinite number of bits.
  2572.  
  2573. As noted above, this model violates ANSI C because it would lead
  2574. to an infinite sizeof(char *) which breaks at least one strictly
  2575. conforming program (all bytes must be addressible). 
  2576.  
  2577. The reverse, a model with a finite number of containers, each
  2578. of which can store an arbitrarily large integer, also violates
  2579. ANSI C. The reasoning goes as follows: sizeof(x) gives the
  2580. number of bytes in x and must be finite (see above).  It is
  2581. required that each byte of an object be uniquely addressable
  2582. (1.6 def'n of byte).  Of necessity, one must then define the
  2583. byte as the arbitrarily sized container.  The definition of byte
  2584. in ANSI C (1.6) refers to a low order bit and a high order bit. 
  2585. Hence, a byte is a bounded and finite quantity.  This leads to a
  2586. contradiction. 
  2587.  
  2588. As further evidence of the ANSI C requirement for finite
  2589. containers, I could cite the definition of integral types in
  2590. 3.1.2.5, the rules for integral promotion, the rationale, etc. 
  2591. It's really moot.  The point is that Jeffrey's Turing model
  2592. doesn't match the real world of machines and standards. 
  2593.  
  2594. Bottom line
  2595. -----------
  2596.  
  2597. The ANSI C memory model requires a finite number of finite-sized
  2598. containers.  By extension, the POSIX.1 memory model has the same
  2599. requirements.  Turing undecidability results require an infinite
  2600. state space.  There is no undecidability in a finite state space.
  2601. Proofs to the contrary will be welcomed in comp.theory.
  2602.  
  2603. This corresponds quite closely to everyone's (well, almost
  2604. everyone's) intuition.  The real world does not accept Jeffrey's
  2605. undecidability argument.  If he were correct, test suites for
  2606. most standards would be compromised by these undecidability
  2607. issues.  In practice, they don't arise. 
  2608.  
  2609. Here's a challenge to Jeffrey: give an example from POSIX.1
  2610. where his Turing model undecidability would invalidate an
  2611. otherwise legitimate assertion.
  2612.  
  2613. --
  2614. Dave Cline                                  dave@88open.org
  2615. Spring Valley Software
  2616.  
  2617. [ Note the reference to comp.theory.  Note the previous comments by
  2618.   me, your moderator.  Note that anyone who tries my patience will
  2619.   not get any truffles the next time I bring them to UseNIX 8-).
  2620.   Above all, please note that this is not alt.flame, and my apologies
  2621.   for not being up to snuff recently -- mod ]
  2622.  
  2623. Volume-Number: Volume 31, Number 30
  2624.  
  2625. From std-unix-request@uunet.UU.NET  Mon Apr  5 18:43:20 1993
  2626. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2627.     (5.61/UUNET-mail-drop) id AA12178; Mon, 5 Apr 93 18:43:20 -0400
  2628. Received: from kithrup.com by relay1.UU.NET with SMTP 
  2629.     (5.61/UUNET-internet-primary) id AA01502; Mon, 5 Apr 93 18:43:19 -0400
  2630. From: std-unix-request@uunet.uu.net
  2631. Newsgroups: comp.std.unix
  2632. Subject: Electronic Balloting
  2633. Organization: Colorado SuperNet, Inc.
  2634. Sender: sef@ftp.uu.net
  2635. Message-Id: <1pqcb6INN659@ftp.UU.NET>
  2636. Nntp-Posting-Host: ftp.uu.net
  2637. X-Submissions: std-unix@uunet.uu.net
  2638. Date: 5 Apr 1993 15:37:26 -0700
  2639. Reply-To: std-unix@uunet.uu.net
  2640. To: std-unix@uunet.UU.NET
  2641. Source-Info:  From (or Sender) name not authenticated.
  2642.  
  2643. Submitted-by: jsh@teal.csn.org (Jeffrey Haemer)
  2644.  
  2645.               Electronic Balloting Software
  2646.  
  2647.        What if you could FTP POSIX draft standards and ballot on
  2648.        them from the comfort of    your own keyboard?  No more messy
  2649.        stamps or ink-stained fingers!  No need to wait on the Pos-
  2650.        tal "Service" for the latest drafts!
  2651.  
  2652.        We see a    future in which    draft standards    will be    available
  2653.        for anonymous FTP, and balloting    can be done by email.  For
  2654.        a variety of reasons -- some sensible, some merely histori-
  2655.        cal -- achieving    either of these    advances requires overcom-
  2656.        ing both    political and technical    barriers.  We'd    like to
  2657.        remove the technical barriers.  Andrew Hume has already
  2658.        demonstrated a prototype    solution for electronic    draft dis-
  2659.        tribution.  We'd    like to    see a prototype    for electronic bal-
  2660.        loting, and we'd    like your help to make this happen.
  2661.  
  2662.        It's envisioned that any    electronic balloting procedure will
  2663.        need (a)    authentication at least    as good    as Snail Mail pro-
  2664.        vides and (b) vote-counting software to make it as painless
  2665.        as possible.
  2666.  
  2667.        Quick-and-dirty authentication can be as    simple as (1) mail
  2668.        the ballot-request software, which then (2) generates an
  2669.        encryption key and (3) sends it,    via postal mail    (wouldn't
  2670.        want them to feel _too_ left out!) to the requester, who
  2671.        then (4)    uses the out-of-band key to encrypt the    ballot,
  2672.        which is    then (5) decrypted by the balloting software and
  2673.        (6) counted appropriately -- or at least    that's the plan.
  2674.  
  2675.        What's wrong with the plan?  How    can it be made better?    How
  2676.        interesting can the vote-counting software get?    Should it
  2677.        be written in perl?
  2678.  
  2679.        Please contribute your thoughts,    code, etc., and    help standards
  2680.        balloting step into the 1990s.
  2681.  
  2682.  
  2683.        - Jeffrey S. Haemer, USENIX Standards Liaison   <jsh@usenix.org>
  2684.        - Pat Wilson, SAGE Board    Member <paw@rigel.dartmouth.edu>
  2685.  
  2686.  
  2687. Volume-Number: Volume 31, Number 31
  2688.  
  2689. From std-unix-request@uunet.UU.NET  Tue Apr  6 13:39:44 1993
  2690. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  2691.     (5.61/UUNET-mail-drop) id AA22615; Tue, 6 Apr 93 13:39:44 -0400
  2692. Received: from kithrup.com by relay2.UU.NET with SMTP 
  2693.     (5.61/UUNET-internet-primary) id AA04073; Tue, 6 Apr 93 13:39:44 -0400
  2694. From: std-unix-request@uunet.uu.net
  2695. Newsgroups: comp.std.unix
  2696. Subject: Request for Technology
  2697. Organization: X/Open Company Ltd
  2698. Sender: sef@ftp.uu.net
  2699. Message-Id: <1pseoqINN2uk@ftp.UU.NET>
  2700. Nntp-Posting-Host: ftp.uu.net
  2701. X-Submissions: std-unix@uunet.uu.net
  2702. Date: 6 Apr 1993 10:31:05 -0700
  2703. Reply-To: std-unix@uunet.uu.net
  2704. To: std-unix@uunet.UU.NET
  2705. Source-Info:  From (or Sender) name not authenticated.
  2706.  
  2707. Submitted-by: james@xopen.co.uk (James Andrews)
  2708.  
  2709. X/Open is developing a test suite for XPG4 Commands and
  2710. Utilities.  The test suite (currently known as XCUTS) will
  2711. be capable of testing for conformance to POSIX.2 (IEEE Std 1003.2-1992).
  2712. It will also satisfy the requirements specified by NIST for use as a
  2713. POSIX.2 FIPS certification test suite, and the requirements
  2714. of the EC CTS5 proposal to establish ISO9945-2 test services
  2715. within Europe.
  2716.  
  2717. X/Open wishes to minimize development timescales and to ensure openness
  2718. of the process for development of the test suite.
  2719. X/Open is therefore seeking donation of technology or development
  2720. resources but is also prepared to consider funding some
  2721. commercial development. Thus the development work has been
  2722. provisionally broken into packages some of which may be fulfilled
  2723. by free donation from various sources. Others may be met by
  2724. commercial development under our open tender process. 
  2725.  
  2726. In a previous RFQ, X/Open selected BSI Quality assurance and Mindcraft 
  2727. jointly to serve as the test suite integrator.  Their tasks are to
  2728. ensure the uniformity of style and quality of the code from the package
  2729. suppliers, to integrate them into a single seamless test
  2730. suite, to act as technical advisors and to provide technical
  2731. project management resources.
  2732.  
  2733. X/Open has received a number of offers of free technology
  2734. from its shareholders. X/Open also has had an 'in principle' offer from an
  2735. outside organisation to be a development partner providing
  2736. both IPR and resources free of commercial constraint.
  2737.  
  2738. X/Open wishes to know if other companies or organizations are
  2739. interested in participating in the development of XCUTS, or
  2740. have test suite technology (utilities, implementation
  2741. tools) which they may be prepared to make available under any terms 
  2742. whatsoever X/Open.
  2743.  
  2744. BSI, under contract to X/Open, will put out a Request For Quotation
  2745. for development of those packages that will go to open tender.
  2746. Before that occurs, X/Open would like to know what technologies
  2747. we should be considering. 
  2748.  
  2749. Note that BSI and Mindcraft are precluded from acting as package 
  2750. suppliers under the terms of their integration contract.
  2751.  
  2752. If you are interested in providing technology of the sort
  2753. described above for use in XCUTS, please mail me at the attached
  2754. Address of your interest within one week. Follow this up
  2755. by letting me know what you are suggesting within two weeks.
  2756.  
  2757. If you are interested in Tendering for the packages but do not have
  2758. specific technology to be used in XCUTS, let us know of your interest
  2759. to ensure that you will receive a package when the RFP is
  2760. distributed.  There may be a modest cost associated with
  2761. participating in the RFP to cover the costs of the materials
  2762. distributed; we estimate that it would be about $150.  It is
  2763. assumed that you already have a copy of the XPG4 Commands
  2764. and Utilities specification.  Your response now can directly
  2765. influence the project and the shape of any commercial RFP's.
  2766.  
  2767. There are certain technical constraints that govern the
  2768. architecture of XCUTS.  These arise both from X/Open
  2769. requirements and from NIST and European Commission CTS5
  2770. requirements.  While we cannot give all those constraints in
  2771. this document, here are some crucial points:
  2772.  
  2773.   1.  The Test Environment Toolkit (TET) must be used as the
  2774.       common test harness for all test development.
  2775.  
  2776.   2.  The API to be used shall be the TET API plus
  2777.       interfaces defined in the Style and Quality Assurance
  2778.       Guide (to be provided by the integrators).  NOTE: If
  2779.       you want to suggest an API, do so; you should be aware
  2780.       that anything beyond TET will require the approval of
  2781.       the X/Open Test Development Group.
  2782.  
  2783.   3.  Tests must conform to the requirements of POSIX.3
  2784.       (IEEE Std 1003.2-1991).
  2785.  
  2786.   4.  Tests for POSIX.2 must use the assertions in the most
  2787.       current draft of POSIX.3.2, and must track changes in
  2788.       subsequent drafts through the test development cycle.
  2789.       (This will likely encompass a single new draft.)
  2790.       Package suppliers will be required to review the draft
  2791.       POSIX.3.2 assertions for correctness and to submit
  2792.       corrections to both the POSIX.3.2 committee and the
  2793.       integrators.  Test assertions must be developed for
  2794.       those portions of XPG4 Commands and Utilities outside
  2795.       the scope of POSIX.2.  The writing and review of these
  2796.       assertions will be part of the test suite development
  2797.       effort.
  2798.  
  2799.   5.  Tests must be written in the POSIX.2 Shell language
  2800.       whenever possible.  When C is required, Standard C
  2801.       shall be used.
  2802.  
  2803.   6.  Tests must be so structured that no assertion test
  2804.       depends on the execution or results of any prior test.
  2805.  
  2806. DO NOT SUBMIT ANY CONFIDENTIAL MATERIAL IN YOUR RESPONSE.
  2807. We will assume that all responses can be exchanged freely
  2808. among the organizations evaluating your response.
  2809.  
  2810. Regards 
  2811.  
  2812. -- 
  2813. James Andrews                                         X/Open Company Limited
  2814. Conformance Quality Mgr                             Apex Plaza, Forbury Road
  2815. EMail: j.andrews@xopen.co.uk                       Reading, England, RG1 1AX
  2816. Tel: +(44) (0)734 508311                            FAX: +(44) (0)734 500110 
  2817.  
  2818. Volume-Number: Volume 31, Number 32
  2819.  
  2820. From std-unix-request@uunet.UU.NET  Fri Apr  9 17:05:04 1993
  2821. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  2822.     (5.61/UUNET-mail-drop) id AA04437; Fri, 9 Apr 93 17:05:04 -0400
  2823. Received: from kithrup.com by relay2.UU.NET with SMTP 
  2824.     (5.61/UUNET-internet-primary) id AA24603; Fri, 9 Apr 93 17:04:59 -0400
  2825. From: std-unix-request@uunet.uu.net
  2826. Newsgroups: comp.std.unix
  2827. Subject: Re: Electronic Balloting
  2828. Organization: Data General Corporation
  2829. Sender: sef@ftp.uu.net
  2830. Message-Id: <1q4o47INN8fb@ftp.UU.NET>
  2831. References: <1pqcb6INN659@ftp.UU.NET> <1pqcb6INN659@ftp.UU.NET>
  2832. Reply-To: lewine@cheshirecat.webo.dg.com
  2833. Nntp-Posting-Host: ftp.uu.net
  2834. X-Submissions: std-unix@uunet.uu.net
  2835. Date: 9 Apr 1993 13:59:51 -0700
  2836. To: std-unix@uunet.UU.NET
  2837. Source-Info:  From (or Sender) name not authenticated.
  2838.  
  2839. Submitted-by: lewine@cheshirecat.webo.dg.com (Donald Lewine)
  2840.  
  2841. In article <1pqcb6INN659@ftp.UU.NET>, jsh@teal.csn.org (Jeffrey Haemer) writes:
  2842. >               Electronic Balloting Software
  2843.  
  2844. Great idea!
  2845.  
  2846. >Quick-and-dirty authentication can be as simple as (1) mail
  2847. >the ballot-request software, which then (2) generates an
  2848. >encryption key and (3) sends it, via postal mail (wouldn't
  2849. >want them to feel _too_ left out!) to the requester, who
  2850. >then (4) uses the out-of-band key to encrypt the ballot,
  2851. >which is then (5) decrypted by the balloting software and
  2852. >(6) counted appropriately -- or at least that's the plan.
  2853.  
  2854. The authentication can be even quicker.  There is really no need to
  2855. encrypt/decrypt the ballot.  Step (3) could send several out-of-band
  2856. passwords; One for yes, one for no, one for abstain, and so on.  The
  2857. ballotor can then send back his vote & password along with the clear
  2858. text of any objections/comments.
  2859.  
  2860. The passwords would prevent someone from changing a YES vote to a NO
  2861. vote.  Encryption of comments, objects and the voters name do not 
  2862. add any real security.  If we are concerned that an attacker might
  2863. change the text of a comment or objection, we need to also make sure
  2864. that he cannot change the draft I am getting via FTP or E-Mail.
  2865.  
  2866. Personally, I am willing to trust the internet with the plain text
  2867. of the draft and the comments.  When using plain text there is less
  2868. to go wrong and correction is easier.
  2869.  
  2870. >What's wrong with the plan?  How can it be made better? How
  2871. >interesting can the vote-counting software get? Should it
  2872. >be written in perl?
  2873.  
  2874. How about restricting the vote-counting software to be POSIX.1 and 
  2875. POSIX.2 conforming?  Let's use some of the portability and verification
  2876. tools we are already building.
  2877.  
  2878. --------------------------------------------------------------------
  2879. Donald A. Lewine                (508) 870-9008 Voice
  2880. Data General Corporation        (508) 366-0750 FAX
  2881. 4400 Computer Drive. MS D112A
  2882. Westboro, MA 01580  U.S.A.
  2883.  
  2884. uucp: uunet!dg!lewine   Internet: lewine@cheshirecat.webo.dg.com
  2885.  
  2886. Volume-Number: Volume 31, Number 33
  2887.  
  2888. From std-unix-request@uunet.UU.NET  Sat Apr 10 02:02:01 1993
  2889. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  2890.     (5.61/UUNET-mail-drop) id AA00966; Sat, 10 Apr 93 02:02:01 -0400
  2891. Received: from kithrup.com by relay1.UU.NET with SMTP 
  2892.     (5.61/UUNET-internet-primary) id AA29496; Sat, 10 Apr 93 02:01:54 -0400
  2893. From: std-unix-request@uunet.uu.net
  2894. Newsgroups: comp.std.unix
  2895. Subject: Posix.9 report
  2896. Organization: Kithrup Enterprises, Ltd.
  2897. Sender: sef@ftp.uu.net
  2898. Message-Id: <1q5no4INNo13@ftp.UU.NET>
  2899. Nntp-Posting-Host: ftp.uu.net
  2900. X-Submissions: std-unix@uunet.uu.net
  2901. Date: 9 Apr 1993 22:59:32 -0700
  2902. Reply-To: std-unix@uunet.uu.net
  2903. To: std-unix@uunet.UU.NET
  2904. Source-Info:  From (or Sender) name not authenticated.
  2905.  
  2906. Submitted-by: nick@santec.boston.ma.us (Nick Stoughton)
  2907.  
  2908. As the new Usenix standards editor (watch this space for more on this),
  2909. I should get this comment on January's Posix.9 meeting published before
  2910. we get to the April one...
  2911.  
  2912.         Report on POSIX.9: FORTRAN Bindings
  2913.  
  2914. Michael J. Hannah <mjhanna@sandia.gov>, the chair of the POSIX.9
  2915. committee, gives his views on the January meeting of the POSIX.9,
  2916. and the new POSIX.19 committees.
  2917.  
  2918. The POSIX.9 (Fortran bindings) group, though sparsely attended, did meet in 
  2919. January and made progress towards their next project.  While other IEEE 
  2920. standards have been drafted by three people, this is uncommon for POSIX.  A 
  2921. committee of such small size implies a very significant reliance on the 
  2922. ultimate balloting group.  There is nothing wrong with a small group doing 
  2923. the draft, but before such a draft becomes a standard it must be 
  2924. reviewed and examined by a much larger, representative, balloting group.  
  2925. While there may be nothing improper or illegal with this approach, I
  2926. would certainly like to see more participation in our meetings.
  2927.  
  2928. IEEE Std 1003.9-1992 is approved and was available for purchase at this
  2929. meeting.  This standard completely defines how to access ALL
  2930. functionality of ISO/IEC 9945-1:1990 from FORTRAN 77, as well as
  2931. defining a generalized way to access any operating system structure and
  2932. defining byte-stream I/O for FORTRAN 77.  Since FORTRAN 77 is
  2933. essentially a subset of the new Fortran 90 standard, IEEE Std
  2934. 1003.9-1992 is completely usable in a Fortran 90 environment.  Like any
  2935. standards committee that just completed a standard, the committee
  2936. discussed how to convince vendors to implement this standard, and how
  2937. to convince users to demand this standard from the vendors.
  2938.  
  2939. Actual work was begun on draft 0 of the next project for this
  2940. committee, P1003.19, which is a binding between the Language
  2941. Independent Specification (LIS) of 1003.1 and the new Fortran 90
  2942. language standard.  This Project Authorization Request (PAR) was
  2943. approved by the IEEE standards board in Sept 1992, though approved over
  2944. a year ago by the SEC.  Part of the delay was ensuring complete liaison
  2945. with X3J3, the Fortran Language committee.  At their August 1992
  2946. meeting, the X3J3 approved an official resolution endorsing the scope
  2947. of the P1003.19 PAR and agreed to active liaison with the 1003.9
  2948. committee.  This is significant since the P1003.19 PAR includes in its
  2949. scope the ability to define extensions to the base language standard of
  2950. Fortran 90.  One of the major unresolved objections in balloting IEEE
  2951. Std 1003.9- 1992 was that many of the functions could have been defined
  2952. as simple extensions to the base standard syntax.  For example, mode
  2953. bits could be included as an extension to the Fortran OPEN statement,
  2954. etc.  Such an approach is planned for the P1003.19 work.
  2955.  
  2956. The committee began by discussing the overall approach to the new
  2957. work.  In addition to examining the new language features in Fortran
  2958. 90, the committee discussed how this new binding should relate to the
  2959. 1003.1 LIS and its companion 1003.1 C binding.  While this POSIX
  2960. standards body is focused on portability of applications, as an end
  2961. user I am particularly concerned about portability for application
  2962. writers.  Whether to point to the LIS or point to the ``historical
  2963. practice'' of C is a contentious issue.  For example, the LIS describes
  2964. a procedure called change_file_mode, while the traditional C
  2965. function is called chmod.  In IEEE Std 1003.9-1992, because any
  2966. function/subroutine name in FORTRAN 77 was exposed to the loader, and
  2967. since the IEEE Std 1003.9-1992 routine to change file mode had to be
  2968. slightly different than chmod, we had to give it a distinct name,
  2969. PXFCHMOD.  Because of the new features of Fortran 90, module
  2970. names used by an application are not necessarily exposed to the
  2971. loader.  Thus we COULD now call the Fortran 90 routine chmod
  2972. without fear of conflict with a different C library routine of the same
  2973. name.  Using chmod as the name is intuitive to any programmer
  2974. coming from the C world, but is not intuitive to a strictly Fortran
  2975. programmer.  While the argument in this example may be stronger for
  2976. chmod since there is also a 1003.2 command by that same name,
  2977. such an argument does not apply to all 1003.1 functions.  If you really
  2978. believe in the concept of the LIS, and especially if the new C binding
  2979. is ``thin,'' then a name that is the same as the LIS
  2980. change_file_mode might be more appropriate.  A Fortran 90
  2981. bindings reader should need at most the 1003.19 binding and the 1003.1
  2982. LIS.  However, many LIS names are more than 31 characters, so some
  2983. mapping may be required, or an extension to Fortran 90 to recognize
  2984. uniqueness in names longer than 31 characters.  This seems to be
  2985. something like a religious issue, where parties on each side are
  2986. CERTAIN that their position is correct, and the only intelligent
  2987. position.  The current committee default is to use the long LIS names,
  2988. NOT the familiar C names, but this may change.
  2989.  
  2990. One item of interest is that new constructs in Fortran 90 seem to
  2991. permit the binding to be completely specified as Fortran 90 code
  2992. fragments.  Whether the IEEE and ISO document structures could be
  2993. accommodated by this is unclear.  For an implementation, you would like
  2994. to give an electronic copy of the binding (code fragments) to the
  2995. implementor so they could simply add the rest of the code necessary on
  2996. their implementation.  Since the code fragments completely define the
  2997. application interfaces, this would be a boon for everybody.  However,
  2998. such a scheme also raises the question among the lawyer folk as to what
  2999. this would mean with regard to the IEEE copyright of the binding.
  3000.  
  3001. Finally, the committee was actively involved in the hot debate
  3002. concerning whether the POSIX Executive Committee should rescind its
  3003. mandatory requirement for base POSIX standards to be developed as
  3004. Language Independent Specifications (LIS).  As a language binding
  3005. committee we are viewed as the direct beneficiaries of the work to
  3006. produce an LIS. The members of the bindings committee of both the
  3007. 1003.4-Ada and 1003.9-Fortran have strong opinions on this issue.
  3008.  
  3009. The 1003.9 committee is scheduled to meet the first three days of the April 
  3010. POSIX meeting.
  3011.  
  3012. Volume-Number: Volume 31, Number 34
  3013.  
  3014. From std-unix-request@uunet.UU.NET  Thu Apr 15 17:04:37 1993
  3015. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3016.     (5.61/UUNET-mail-drop) id AA05954; Thu, 15 Apr 93 17:04:37 -0400
  3017. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3018.     (5.61/UUNET-internet-primary) id AA05198; Thu, 15 Apr 93 17:04:03 -0400
  3019. From: std-unix-request@uunet.uu.net
  3020. Newsgroups: comp.std.unix
  3021. Subject: POSIX status
  3022. Organization: Kithrup Enterprises, Ltd.
  3023. Sender: sef@ftp.uu.net
  3024. Message-Id: <1qk87qINN3ld@ftp.UU.NET>
  3025. Nntp-Posting-Host: ftp.uu.net
  3026. X-Submissions: std-unix@uunet.uu.net
  3027. Date: 15 Apr 1993 11:06:50 -0700
  3028. Reply-To: std-unix@uunet.uu.net
  3029. To: std-unix@uunet.UU.NET
  3030. Source-Info:  From (or Sender) name not authenticated.
  3031.  
  3032. Submitted-by: lorrain@mtuxo.att.com
  3033.  
  3034.                                                         PASC SEC SD11
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.                              POSIX Status
  3043.  
  3044.                               April 1993
  3045.  
  3046.  
  3047.          Project                              Estimated  Probable
  3048.                             Ballot Type                            Est Size
  3049.          Number                              Ballot Date Draft No.
  3050.   __________________________________________________________________________
  3051.  
  3052.   P1003.0               Mock/WG15 R&C *      Nov '91        D13    ~250 Pgs
  3053.   (POSIX Guide)         1st Ballot *         Aug '92        D15     287 Pgs
  3054.                         SC22 R&C *           2Q93           D16     287 Pgs
  3055.                         CD/PDAM              3Q93            D?    ~287 Pgs
  3056.   __________________________________________________________________________
  3057.   P1003.1a              1st Ballot/SC22 R&C -3Q93           D7+    ~100 Pgs
  3058.   (System Interface     CD/PDAM              93+             D?    ~100 Pgs
  3059.   Extensions)
  3060.  
  3061.   Lang. Indpt Spec      Mock Ballot          Fall '91              ~400 Pgs
  3062.                         WG15 R&C             1Q92                  ~400 Pgs
  3063.                         1st Ballot           July '92        D3    ~400 Pgs
  3064.                         SC22 R&C             4Q92            D3    ~400 Pgs
  3065.                         2nd Ballot           3Q93            D4    ~400 Pgs
  3066.                         CD/PDAM              3Q93            D5    ~400 Pgs
  3067.                         Final/DIS Ballot     4Q93            D6    ~400 Pgs
  3068.   __________________________________________________________________________
  3069.   P1003.2/2a (Shell &   APPROVED             9/92
  3070.   Tools/User Port Ext)  IS Ballot            4Q92
  3071.  
  3072.   P1003.2b              1st Ballot           3Q93            D?     TBD Pgs
  3073.   (ISO Revision)
  3074.   __________________________________________________________________________
  3075.   P1003.3               APPROVED             3/91
  3076.   (Test Methods)        CD/PDAM              2Q92
  3077.  
  3078.   P1003.3.1             APPROVED             12/92
  3079.  
  3080.   P1003.3.2             1st Ballot/SC22 R&C  4Q92            D8    ~500 Pgs
  3081.   __________________________________________________________________________
  3082.   P1003.4               Recirc               Apr '92        D12    ~320 Pgs
  3083.   (Realtime)            Recirc               Jun '92       D12.01  ~320 Pgs
  3084.                         Recirc               Oct '92        D13    ~320 Pgs
  3085.                         Recirc               Apr '93        D14    ~320 Pgs
  3086.                         CD/PDAM              1Q91           D10    ~400 Pgs
  3087.                         Final                Jun '93        D14    ~320 Pgs
  3088.  
  3089.   P1003.4a              1st Recirc           1Q92            D6    ~200 Pgs
  3090.                         2nd Recirc           Apr '92         D7    ~200 Pgs
  3091.                         3rd Recirc           May '93         D8    ~200 Pgs
  3092.                         CD/PDAM              4Q93
  3093.  
  3094.   P1003.4b              WG15 R&C             4Q92            D?       TBD
  3095.                         1st Ballot/SC22 R&C  3Q93           D6?       TBD
  3096.  
  3097.   P1003.4c (L. I.)      1st Ballot/SC22 R&C  3Q93           TBD       TBD
  3098.   __________________________________________________________________________
  3099.   P1003.5               APPROVED             6/92
  3100.   (Ada)                 CD/PDAM              93+
  3101.   __________________________________________________________________________
  3102.   P1003.6               1st Ballot/SC22 R&C  Oct '91        D12     387 Pgs
  3103.   (Security)            1st Recirc           Dec '92        D13    ~400 Pgs
  3104.                         CD/PDAM              3Q93           D15    ~400 Pgs
  3105.   __________________________________________________________________________
  3106.   P1003.7.1             Mock                 2Q92            D5
  3107.   (Print Admin)         WG15 R&C S&F=        May '92
  3108.                         1st Ballot           Jun '93         D7    ~350 Pgs
  3109.                         WG15 R&C             2Q93
  3110.                         SC22 R&C             4Q93
  3111.                         CD/PDAM              4Q93
  3112.  
  3113.   P1003.7.2             WG15 R&C S&F=        May '92
  3114.   (Software Admin)      Mock                 Mar '93         D8    ~300 Pgs
  3115.                         WG15 R&C             2Q93
  3116.                         SC22 R&C             4Q93
  3117.                         4D/PDAM              1Q93
  3118.   __________________________________________________________________________
  3119.   P1003.8               Mock                 3Q91            D4     ~60 Pgs
  3120.   (TFA)                 WG15 R&C             1Q92            D5     ~60 Pgs
  3121.                         1st Ballot           May '92         D6     108 Pgs
  3122.                         1st Recirc           2Q93            D7    ~100 Pgs
  3123.                         SC22 R&C             2Q93            D7    ~100 Pgs
  3124.                         CD/PDAM              3Q92            D?    ~100 Pgs
  3125.   __________________________________________________________________________
  3126.   P1003.9 (Fortran)     APPROVED             6/92
  3127.   __________________________________________________________________________
  3128.   P1003.10              1st Ballot/SC22 R&C  Nov '92        D11     ~75 Pgs
  3129.   (Supercomputing AEP)
  3130.   __________________________________________________________________________
  3131.   P1003.11              Mock                 1Q92            D6     ~75 Pgs
  3132.   (Trans Proc AEP)      1st Ballot/WG15 R&C  3Q92            D7     ~50 Pgs
  3133.                         Survey               12/92
  3134.   __________________________________________________________________________
  3135.   P1003.12              Mock/WG15 R&C        4Q92            D2    ~300 Pgs
  3136.   (Protocol Indpt.)     1st Ballot/SC22 R&C  3Q93            D4    ~400 Pgs
  3137.                         CD/PDAM              4Q93            D?
  3138.   __________________________________________________________________________
  3139.   P1003.13              1st Ballot           May '92         D5     ~80 Pgs
  3140.   (Realtime AEP)        WG15 R&C             3Q93            D7     ~80 Pgs
  3141.                         1st Recirc           3Q93            D6     ~80 Pgs
  3142.   __________________________________________________________________________
  3143.   P1003.14              Mock/WG15 R&C        3Q92            D5     ~50 Pgs
  3144.   (Multi Proc AEP)      1st Ballot/SC22 R&C  3Q93            D?
  3145.   __________________________________________________________________________
  3146.   P1003.15              1st Ballot           Dec '92        D12    ~175 Pgs
  3147.   (Batch)               SC22 R&C             1Q93           D12    ~175 Pgs
  3148.                         CD/PDAM              3Q93            D?
  3149.   __________________________________________________________________________
  3150.   P1003.16              Mock Ballot          Fall '91        D2
  3151.   (C Binding)           WG15 R&C             1Q92            D2
  3152.   (Synchronized         1st Ballot           July '92        D3    ~200 Pgs
  3153.    with P1003.1 LI)     SC22 R&C             4Q92            D3    ~200 Pgs
  3154.                         1st Recirc           3Q93            D4    ~200 Pgs
  3155.                         CD/PDAM              3Q93            D5    ~200 Pgs
  3156.                         Final/DIS Ballot     4Q93            D6    ~200 Pgs
  3157.   __________________________________________________________________________
  3158.   P1003.17              APPROVED             3/93
  3159.   (Directory/NS)        ISO Fast Track       2Q93
  3160.     (1224.2, 1326.2)
  3161.     (1327.2, 1328.2)
  3162.   __________________________________________________________________________
  3163.   P1003.18              Mock                 Oct '91         D5
  3164.   (POSIX Profile)       2nd Mock             May '92         D6    ~100 Pgs
  3165.                         WG15 R&C             1Q93
  3166.                         1st Ballot           4Q93           D7+    ~100 Pgs
  3167.   __________________________________________________________________________
  3168.   P1003.19              Mock
  3169.   (Fortran 90)
  3170.   __________________________________________________________________________
  3171.   P1003.20              Mock                 Dec '92
  3172.   (Ada Realtime)        1st Ballot           3Q93
  3173.   __________________________________________________________________________
  3174.   P1201 (User I/F)
  3175.   P1201.1
  3176.   (Interfaces)
  3177.   P1201.2               1st Ballot/SC22 R&C  3Q92            D1     183 Pgs
  3178.   (Drivability)         Recirc               2Q93            D2    ~180 Pgs
  3179.   __________________________________________________________________________
  3180.   P1224 (ASN.1          APPROVED             3/93
  3181.   Obj Mgt Spec)         ISO Fast Track       2Q93
  3182.     (1224, 1326)
  3183.     (1327, 1328)
  3184.   P1224.1 (X.400 API)   APPROVED             3/93
  3185.     (1224.1, 1326.1)    ISO Fast Track       2Q93
  3186.     (1327.1, 1328.1)
  3187.   __________________________________________________________________________
  3188.   P1237 (RPC)           moved to X3
  3189.   __________________________________________________________________________
  3190.   P1238 (FTAM)
  3191.   P1238.0               Mock/WG15 R&C        Jan '92         D4
  3192.   (Support Fncs)        1st Ballot/SC22 R&C  Jun '93         D2
  3193.   P1238.1               1st Ballot/SC22 R&C  '93             D?
  3194.   FTAM I/F
  3195.  
  3196.  
  3197.   ____________
  3198.  
  3199.     * According to the PASC Synchronization Plan, the Mock Ballot of
  3200.       a draft will indicate the draft is ready to be sent to ISO
  3201.       SC22/WG15 for Review and Comment, and the first ballot will
  3202.       indicate the draft is ready to be sent to ISO SC22 for Review
  3203.       and Comment.
  3204.  
  3205.     - 1003.1a will be approximately one meeting behind the LIS to
  3206.       start ballot.
  3207.  
  3208.     = WG15 R&C S&F indicates review and comment by WG15 of the scope
  3209.       and functionality of this proposed standard.
  3210.  
  3211.  
  3212.  
  3213.  
  3214.                                                         PASC SEC SD11
  3215.  
  3216.  ________________________________________________________________________
  3217.  |                    Highlights of POSIX Most Active                   |
  3218.  |______________________________________________________________________|
  3219.  |  Project  |  Draft |  AT IEEE |  Start of  |  Close of|     Ballot   |
  3220.  |           |  Number|   Office |   Ballot   |   Ballot |  Coordinator |
  3221.  |___________|________|__________|____________|__________|______________|
  3222.  |           |        |          |            |          |              |
  3223.  | P1003.0   |   D15  |          |    8/3/92  |  8/31/92 |     Lewis    |
  3224.  |___________|________|__________|____________|__________|______________|
  3225.  |           |        |          |            |          |              |
  3226.  | P1003.1LIS|    D4  |  7/17/93 |   8/17/93  |  9/17/93 |     Rabin    |
  3227.  | P1003.16  |    D4  |  7/17/93 |   8/17/93  |  9/17/93 |     Rabin    |
  3228.  |___________|________|__________|____________|__________|______________|
  3229.  |           |        |          |            |          |              |
  3230.  | P1003.3.2 |    D8  |  11/6/92 |   12/6/92  |    3/93  |    Johnson   |
  3231.  |___________|________|__________|____________|__________|______________|
  3232.  |           |        |          |            |          |              |
  3233.  | P1003.4   |   D14  |   3/5/93 |    4/5/93  |  4/16/93 |     Corwin   |
  3234.  |___________|________|__________|____________|__________|______________|
  3235.  |           |        |          |            |          |              |
  3236.  | P1003.4a  |    D8  |  4/14/93 |   5/14/93  |  6/14/93 |     Corwin   |
  3237.  |___________|________|__________|____________|__________|______________|
  3238.  |           |        |          |            |          |              |
  3239.  | P1003.4c  |    D?  |          |     2Q93   |    2Q93  |     Corwin   |
  3240.  |___________|________|__________|____________|__________|______________|
  3241.  |           |        |          |            |          |              |
  3242.  | P1003.6   |   D13  |  11/30/92|   12/31/92 |    3/93  |    Ressler   |
  3243.  |___________|________|__________|____________|__________|______________|
  3244.  |           |        |          |            |          |              |
  3245.  | P1003.7.1 |    D7  |  5/10/93 |   6/10/93  |  7/16/93 |  D'Alessandro|
  3246.  |___________|________|__________|____________|__________|______________|
  3247.  |           |        |          |            |          |              |
  3248.  | P1003.8   |    D6  |    2Q93  |     2Q93   |    2Q93  |     Zions    |
  3249.  |___________|________|__________|____________|__________|______________|
  3250.  |           |        |          |            |          |              |
  3251.  | P1003.10  |   D11  |  10/16/92|   11/16/92 |  12/16/92|    Sheaffer  |
  3252.  |___________|________|__________|____________|__________|______________|
  3253.  |           |        |          |            |          |              |
  3254.  | P1003.11  |  Survey|   12/92  |    12/92   |    1Q93  |      Poon    |
  3255.  |___________|________|__________|____________|__________|______________|
  3256.  |           |        |          |            |          |              |
  3257.  | P1003.13  |    D6  |          |     3Q93   |    3Q93  |     Corwin   |
  3258.  |___________|________|__________|____________|__________|______________|
  3259.  |           |        |          |            |          |              |
  3260.  | P1003.15  |   D12  |  11/15/92|   12/15/92 |    3/93  |    Sheaffer  |
  3261.  |___________|________|__________|____________|__________|______________|
  3262.  |           |        |          |            |          |              |
  3263.  | P1003.18  |        |    4Q93  |     4Q93   |    4Q93  |              |
  3264.  |___________|________|__________|____________|__________|______________|
  3265.  |           |        |          |            |          |              |
  3266.  | P1003.20  |        |    3Q93  |     3Q93   |    3Q93  |              |
  3267.  |___________|________|__________|____________|__________|______________|
  3268.  |           |        |          |            |          |              |
  3269.  | P1201.2   |    D1  |          |   6/17/92  |  7/17/92 |     Kurys    |
  3270.  |           |        |          |            |          |              |
  3271.  | P1201.2   |    D2  |          |     2Q93   |    2Q93  |     Kurys    |
  3272.  |___________|________|__________|____________|__________|______________|
  3273.  
  3274.  
  3275.   For copies of standards or current drafts, call the IEEE Computer
  3276.   Society at 202-371-0101.
  3277.  
  3278.  
  3279.  
  3280. Volume-Number: Volume 31, Number 35
  3281.  
  3282. From std-unix-request@uunet.UU.NET  Thu Apr 15 17:04:53 1993
  3283. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3284.     (5.61/UUNET-mail-drop) id AA06042; Thu, 15 Apr 93 17:04:53 -0400
  3285. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3286.     (5.61/UUNET-internet-primary) id AA05577; Thu, 15 Apr 93 17:04:52 -0400
  3287. From: std-unix-request@uunet.uu.net
  3288. Newsgroups: comp.std.unix
  3289. Subject: Quarterly report
  3290. Organization: Kithrup Enterprises, Ltd.
  3291. Sender: sef@ftp.uu.net
  3292. Message-Id: <1qk8abINN3or@ftp.UU.NET>
  3293. Nntp-Posting-Host: ftp.uu.net
  3294. X-Submissions: std-unix@uunet.uu.net
  3295. Date: 15 Apr 1993 11:08:11 -0700
  3296. Reply-To: std-unix@uunet.uu.net
  3297. To: std-unix@uunet.UU.NET
  3298. Source-Info:  From (or Sender) name not authenticated.
  3299.  
  3300. Submitted-by: lorrain@mtuxo.att.com
  3301.  
  3302.   ____________________________________________________________________
  3303.   PASC SEC SD11
  3304.  
  3305.  
  3306.  
  3307.   subject: Balloting Vice-Chair Status          date: April 14, 1993
  3308.            Report - 2nd Quarter 1993
  3309.                                                 from: L. C. Kevra
  3310.                                                       908-234-6423
  3311.                                                       l.kevra@att.com
  3312.  
  3313.  
  3314.  
  3315.   To:  PASC/SEC
  3316.  
  3317.  
  3318.   The following is a status report on items of interest to the
  3319.   PASC/SEC working groups concerning balloting issues.
  3320.  
  3321.  
  3322.   1.  IEEE Balloting Contacts
  3323.  
  3324.   As a reminder, Anne O'Neill (Staff Engineer at the IEEE Standards
  3325.   Department in Piscataway, NJ) serves as the project manager for the
  3326.   IEEE POSIX balloting efforts; she handles all general planning and
  3327.   policies for the assorted POSIX working groups ballots.  Anne can
  3328.   be reached at 908-562-3809.  Anna Kaczmarek (908 562 3811) is
  3329.   responsible for all invitations to ballot.  Carol Buonfiglio (908
  3330.   562 3834) handles all other ballot related activities: all ballots
  3331.   sent out for the first time, all reballots, and all recirculation
  3332.   ballots.
  3333.  
  3334.  
  3335.   2.  Current Balloting Group Status
  3336.  
  3337.   Congratulations to all those who worked so hard to create and
  3338.   complete the 1224, 1224.1 and 1224.2 (1003.17)  IEEE Standards
  3339.   (with associated language bindings and test methods); they were
  3340.   approved at the March 1993 IEEE Standards Board Meeting!
  3341.  
  3342.   As of April 7, the following groups are at some stage of the
  3343.   balloting process:
  3344.  
  3345.   PASC/SEC -  Ballot resolution.
  3346.  
  3347.   P1003.0 -   Ballot resolution.
  3348.  
  3349.   P1003.1LIS/.16 -  Ballot resolution.
  3350.  
  3351.   P1003.3.2 -  Recirculation ballot closed 3/93; in ballot
  3352.               resolution.
  3353.  
  3354.  
  3355.  
  3356.  
  3357.                                   -1-
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.                                                         PASC SEC SD11
  3366.  
  3367.  
  3368.  
  3369.   P1003.4 -   Final ballot recirculation closed 4/16/93; projected
  3370.               submission to the IEEE Standards Board June 1993.
  3371.  
  3372.   P1003.4a -  Ballot recirculation from May 14 to June 14, 1993.
  3373.  
  3374.   P1003.6 -   Recirculation ballot closed 3/93; in ballot resolution.
  3375.  
  3376.   P1003.7.1 -  First ballot scheduled from June 10 to July 16, 1993.
  3377.  
  3378.   P1003.8 -   Ballot resolution.
  3379.  
  3380.   P1003.10 -  Ballot resolution.
  3381.  
  3382.   P1003.11 -  Survey of next steps for the working group.
  3383.  
  3384.   P1003.13 -  Ballot resolution.
  3385.  
  3386.   P1003.15 -  Recirculation ballot closed 3/93; in ballot resolution.
  3387.  
  3388.   P1201.2 -   Ballot resolution.
  3389.  
  3390.  
  3391.   3.  Call for Balloting Groups Formation
  3392.  
  3393.   The IEEE office is planning to send out a letter to the PASC
  3394.   balloting pool on April 30, 1993 (after the April 1993 POSIX
  3395.   meetings) inviting them to joint the balloting group(s) for our
  3396.   next round of standards ready to go to ballot.  The invitation will
  3397.   close on June 7, 1993 allowing for first ballots to be sent out
  3398.   after that date.  As of April 7, 1993, two groups have identified a
  3399.   need to form new balloting groups:
  3400.  
  3401.      o 1003.20 (Ada Realtime APIs)
  3402.  
  3403.      o 1238.0 (FTAM Support Functions)
  3404.  
  3405.   As of April 7, the IEEE office plans to keep the balloting fee at
  3406.   $50 per group.  If you need to form a balloting group, please
  3407.   contact Lorraine Kevra or Anne O'Neill after the Irvine POSIX
  3408.   meetings.  Please note: If there are balloting dependencies on
  3409.   other document(s), the instructions on how to obtain them must be
  3410.   provided by the ballot coordinator to the IEEE office.
  3411.  
  3412.  
  3413.   4.  Recirculation Balloting Period
  3414.  
  3415.   There has been a change to the balloting procedures as documented
  3416.   in the IEEE Standards Operations Manual and IEEE Standards Board
  3417.   Bylaws (dated December 1992).  Ballots will close on the deadline
  3418.   (given 75% return has been achieved), or when 75% return is
  3419.   achieved or 60 days after the published closing date, whichever
  3420.   occurs first.  You must receive a 75% response in this new time
  3421.  
  3422.  
  3423.                                   -2-
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.                                                         PASC SEC SD11
  3432.  
  3433.  
  3434.  
  3435.   frame, or there is the potential that your document will be at risk
  3436.   to continue balloting, especially during its first ballot attempt.
  3437.  
  3438.  
  3439.   5.  Overlapping Balloting Windows
  3440.  
  3441.   Just a reminder to reserve your balloting window with Lorraine
  3442.   Kevra as soon as possible -- it's first come, first serve for
  3443.   balloting time periods on the calendar.  Other requests will be
  3444.   staggered to give balloters adequate time to comment on drafts, and
  3445.   to give the IEEE office an appropriate amount of time to copy and
  3446.   distribute ballots.
  3447.  
  3448.  
  3449.   6.  Balloting Group Membership
  3450.  
  3451.   Following is the latest balloting membership figures:
  3452.  
  3453.   _____________________________________________________________________________
  3454.  |     Group     |  Total Balloting Membership|  Official Balloting Membership|
  3455.  |_______________|____________________________|_______________________________|
  3456.  | PASC          |             378            |               335             |
  3457.  |_______________|____________________________|_______________________________|
  3458.  | P1003.0       |              72            |               68              |
  3459.  |_______________|____________________________|_______________________________|
  3460.  | P1003.1LIS/.16|             123            |               112             |
  3461.  | P1003.1LIS    |              -             |               +9-             |
  3462.  |_______________|____________________________|_______________________________|
  3463.  | P1003.1a      |              90            |               85              |
  3464.  |_______________|____________________________|_______________________________|
  3465.  | P1003.3.2     |              47            |               45              |
  3466.  |_______________|____________________________|_______________________________|
  3467.  | P1003.4       |             268            |               239             |
  3468.  | P1003.4a      |             229            |               195             |
  3469.  |_______________|____________________________|_______________________________|
  3470.  | P1003.6       |             274            |               274             |
  3471.  |_______________|____________________________|_______________________________|
  3472.  | P1003.7.1     |              53            |               52              |
  3473.  |_______________|____________________________|_______________________________|
  3474.  | P1003.8       |              93            |               86              |
  3475.  |_______________|____________________________|_______________________________|
  3476.  | P1003.10      |              54            |               51              |
  3477.  |_______________|____________________________|_______________________________|
  3478.  | P1003.11      |              53            |               48              |
  3479.  |_______________|____________________________|_______________________________|
  3480.  | P1003.13      |             100            |               92              |
  3481.  |_______________|____________________________|_______________________________|
  3482.  | P1003.15      |              51            |               49              |
  3483.  |_______________|____________________________|_______________________________|
  3484.  | P1003.18      |              77            |               72              |
  3485.  |_______________|____________________________|_______________________________|
  3486.  
  3487.  
  3488.  
  3489.  
  3490.                                   -3-
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.                                                         PASC SEC SD11
  3499.  
  3500.  
  3501.  
  3502.   7.  Conclusion
  3503.  
  3504.   PASC is making good progress in bringing completed documents to the
  3505.   IEEE Standards Board and there are numerous parallel groups
  3506.   progressing their documents.  PASC has strong advocates on the IEEE
  3507.   Standards Board since both Jim Isaak and Lorraine Kevra are members
  3508.   of the Board for 1993.  There is the potential for overlapping
  3509.   balloting windows, and I will be watching closely to make sure that
  3510.   the PASC balloters are not overwhelmed by the number of drafts
  3511.   coming their way.
  3512.  
  3513.   I welcome you input on this status report and suggestions on topics
  3514.   you would like covered in upcoming balloting status reports.
  3515.  
  3516.  
  3517.  
  3518.                                    L. C. Kevra
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.   ____________
  3547.  
  3548.     - In addition to those who are balloting on .1LIS and .16, 9
  3549.       additional parties of interest are commenting on 1003.1LIS
  3550.       only.
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.                                   -4-
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563. Volume-Number: Volume 31, Number 36
  3564.  
  3565. From std-unix-request@uunet.UU.NET  Thu Apr 15 17:05:08 1993
  3566. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3567.     (5.61/UUNET-mail-drop) id AA06102; Thu, 15 Apr 93 17:05:08 -0400
  3568. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3569.     (5.61/UUNET-internet-primary) id AA05643; Thu, 15 Apr 93 17:05:04 -0400
  3570. From: std-unix-request@uunet.uu.net
  3571. Newsgroups: comp.std.unix
  3572. Subject: expr questions
  3573. Organization: Kaleida Labs, Inc., Mountain View, CA
  3574. Sender: sef@ftp.uu.net
  3575. Message-Id: <1qk8cuINN3ro@ftp.UU.NET>
  3576. Reply-To: jtc@wimsey.com
  3577. Nntp-Posting-Host: ftp.uu.net
  3578. X-Submissions: std-unix@uunet.uu.net
  3579. Date: 15 Apr 1993 11:09:34 -0700
  3580. To: std-unix@uunet.UU.NET
  3581. Source-Info:  From (or Sender) name not authenticated.
  3582.  
  3583. Submitted-by: conklin@kaleida.com (J.T. Conklin)
  3584.  
  3585. I am unable to determine the "proper" behavior of the expr program
  3586. from all of the specifications availiable to me (various man pages,
  3587. and the X/Open Portability Guides).
  3588.  
  3589. All of the man pages contain something like this:
  3590.  
  3591.     expr | expr
  3592.     Return the first expr if it is neither NULL nor 0, otherwise
  3593.     returns    the second expr.
  3594.  
  3595.      expr & expr
  3596.     Return the first expr if neither expr is NULL or 0, otherwise
  3597.     returns 0.
  3598.  
  3599. Since expr will coerce a string into an interger in other contexts, I
  3600. am wondering if a string like 0000 should be interpreted as zero?  All
  3601. of the implementations (that worked at all) I've tried do not.
  3602.  
  3603. I've patched the broken versions (386BSD & GNU) to the traditional
  3604. behavior, but I'm curious to know if the traditional behavior is
  3605. actually incorrect.
  3606.  
  3607. --
  3608. J.T. Conklin <jtc@wimsey.com>    | Your source for floppy distributions
  3609.     Winning Strategies, Inc.     |    of the 386BSD OS and binaries
  3610.     61 Crestwood Drive #18       | 
  3611.     Daly City, CA 94015          | Send e-mail for complete product list
  3612.  
  3613.  
  3614.  
  3615. Volume-Number: Volume 31, Number 37
  3616.  
  3617. From std-unix-request@uunet.UU.NET  Fri Apr 16 16:15:48 1993
  3618. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3619.     (5.61/UUNET-mail-drop) id AA05805; Fri, 16 Apr 93 16:15:48 -0400
  3620. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3621.     (5.61/UUNET-internet-primary) id AA20400; Fri, 16 Apr 93 16:15:35 -0400
  3622. From: std-unix-request@uunet.uu.net
  3623. Newsgroups: comp.std.unix
  3624. Subject: Re:  expr questions
  3625. Organization: Kithrup Enterprises, Ltd.
  3626. Sender: sef@ftp.uu.net
  3627. Message-Id: <1qn3faINNki1@ftp.UU.NET>
  3628. References: <1qk8cuINN3ro@ftp.UU.NET>
  3629. Nntp-Posting-Host: ftp.uu.net
  3630. X-Submissions: std-unix@uunet.uu.net
  3631. Date: 16 Apr 1993 13:03:54 -0700
  3632. Reply-To: std-unix@uunet.uu.net
  3633. To: std-unix@uunet.UU.NET
  3634. Source-Info:  From (or Sender) name not authenticated.
  3635.  
  3636. Submitted-by: karish@mindcraft.com (Chuck Karish)
  3637.  
  3638. conklin@kaleida.com (J.T. Conklin) asked:
  3639. >Since expr will coerce a string into an interger in other contexts, I
  3640. >am wondering if a string like 0000 should be interpreted as zero?  All
  3641. >of the implementations (that worked at all) I've tried do not.
  3642. >I've patched the broken versions (386BSD & GNU) to the traditional
  3643. >behavior, but I'm curious to know if the traditional behavior is
  3644. >actually incorrect.
  3645.  
  3646. In P1003.2 Draft 11, the entry for expr (4.22.7, page 401) defines "integer"
  3647. as "An argument consisting only of an (optional) unary minus followed by
  3648. digits."
  3649.  
  3650. By this definition, "0000" is an integer.
  3651.  
  3652. --
  3653. Chuck Karish        karish@mindcraft.com
  3654. Mindcraft, Inc.     (415) 323-9000 x117
  3655.  
  3656. Volume-Number: Volume 31, Number 38
  3657.  
  3658. From std-unix-request@uunet.UU.NET  Thu Apr 22 19:04:31 1993
  3659. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  3660.     (5.61/UUNET-mail-drop) id AA03819; Thu, 22 Apr 93 19:04:31 -0400
  3661. Received: from kithrup.com by relay2.UU.NET with SMTP 
  3662.     (5.61/UUNET-internet-primary) id AA29313; Thu, 22 Apr 93 19:04:17 -0400
  3663. From: std-unix-request@uunet.uu.net
  3664. Newsgroups: comp.std.unix
  3665. Subject: Re: Job Control and POSIX
  3666. Organization: Motorola Computer Group, Urbana Design Center
  3667. Sender: sef@ftp.uu.net
  3668. Message-Id: <1r77ojINN85n@ftp.UU.NET>
  3669. Nntp-Posting-Host: ftp.uu.net
  3670. X-Submissions: std-unix@uunet.uu.net
  3671. Date: 22 Apr 1993 15:55:15 -0700
  3672. Reply-To: std-unix@uunet.uu.net
  3673. To: std-unix@uunet.UU.NET
  3674. Source-Info:  From (or Sender) name not authenticated.
  3675.  
  3676. Submitted-by: willcox@urbana.mcd.mot.com (David A Willcox)
  3677.  
  3678. This is in reply to a posting on 25 Feb by salevin@dal.mobile.com.
  3679. Unfortunately, my system has long since purged that message, and I
  3680. have only a hard copy.
  3681.  
  3682. The original message said, in effect, that POSIX requires read to
  3683. return -1 and set errno to EINTR if it is interrupted by a job control
  3684. signal before transferring any data.  This caused the poster's csh job
  3685. (which contained a pipeline) to die when suspended.
  3686.  
  3687. This issue was discussed today at the POSIX.1 meeting.  While I think
  3688. that I have captured the consensus of the group, you should take this
  3689. as my personal opinion, and not anything official from the IEEE.  If
  3690. you want something official, you'll have to ask the IEEE for an
  3691. interpretation request.  (This certainly is not an official Motorola
  3692. position, either.)
  3693.  
  3694. I think that the failure described here is due to a misunderstanding
  3695. of the phrase "interrupted by a signal."  The description of read() does
  3696. contain the sentence:
  3697.  
  3698.     If a read() is interrupted by a signal before it reads any data, it
  3699.     shall return -1 with errno set to [EINTR].
  3700.  
  3701. However, see subclause 3.3.1.4, which describes the effects of signals
  3702. on other functions, and contains:
  3703.  
  3704.     If the action of the signal is to invoke a signal-catching
  3705.     function, ... the original function is said to be *interrupted* by
  3706.     the signal.
  3707.  
  3708. This, and other wording in 3.3.1.4 makes it clear, I think, that the
  3709. bit about EINTR in the description of read() does not apply to job
  3710. control signals that were not caught.
  3711.  
  3712. I'd suggest that the original poster point this out to the vendor's
  3713. customer support people.
  3714.  
  3715. David A. Willcox        "Just say 'NO' to universal drug testing"
  3716. Motorola MCG - Urbana        UUCP: ...!uiucuxc!udc!willcox
  3717. 1101 E. University Ave.        INET: willcox@urbana.mcd.mot.com
  3718. Urbana, IL 61801        FONE: 217-384-8534
  3719.  
  3720.  
  3721. Volume-Number: Volume 31, Number 40
  3722.  
  3723. From std-unix-request@uunet.UU.NET  Thu Apr 22 19:04:32 1993
  3724. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  3725.     (5.61/UUNET-mail-drop) id AA03826; Thu, 22 Apr 93 19:04:32 -0400
  3726. Received: from kithrup.com by relay2.UU.NET with SMTP 
  3727.     (5.61/UUNET-internet-primary) id AA29339; Thu, 22 Apr 93 19:04:22 -0400
  3728. From: std-unix-request@uunet.uu.net
  3729. Newsgroups: comp.std.unix
  3730. Subject: POSIX.2: what should 'printf "%c" 3' print?
  3731. Organization: Project GLUE, University of Maryland
  3732. Sender: sef@ftp.uu.net
  3733. Message-Id: <1r77kaINN83e@ftp.UU.NET>
  3734. Nntp-Posting-Host: ftp.uu.net
  3735. X-Submissions: std-unix@uunet.uu.net
  3736. Date: 22 Apr 1993 15:52:58 -0700
  3737. Reply-To: std-unix@uunet.uu.net
  3738. To: std-unix@uunet.UU.NET
  3739. Source-Info:  From (or Sender) name not authenticated.
  3740.  
  3741. Submitted-by: djm@eng.umd.edu (David J. MacKenzie)
  3742.  
  3743. Several people have complained that the GNU printf program (part of
  3744. the GNU shell utilities) handles %c in a less than useful way: it
  3745. treats the argument as a string and prints the first character.
  3746. That is how I had interpreted POSIX.2; in particular, this paragraph
  3747. from the printf section of draft 11.2:
  3748.  
  3749.  The argument operands shall be treated as strings if the corresponding
  3750.  conversion character is b, c, or s; otherwise, it shall be evaluated as a
  3751.  C constant, as described by the C Standard {7}, with the following
  3752.  extensions:
  3753.  
  3754. I have heard that Chris Torek's BSD printf program does the same thing
  3755. with %c, but I haven't verified that myself.
  3756.  
  3757. What people would like %c to do is for 'printf "%c" 3' to print a
  3758. control-c character (using ASCII) rather than a digit.
  3759.  
  3760. I am a little confused now, because the table in section 2.12 that the
  3761. printf section refers to for most of its specification says:
  3762.  
  3763.     c           The integer argument shall be converted to an unsigned
  3764.                 char and the resulting byte shall be written.
  3765.  
  3766. Can someone clarify what the %c conversion should do?
  3767.  
  3768.  
  3769. Volume-Number: Volume 31, Number 39
  3770.  
  3771. From std-unix-request@uunet.UU.NET  Tue Apr 27 14:00:47 1993
  3772. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3773.     (5.61/UUNET-mail-drop) id AA17243; Tue, 27 Apr 93 14:00:47 -0400
  3774. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3775.     (5.61/UUNET-internet-primary) id AA20186; Tue, 27 Apr 93 13:59:59 -0400
  3776. From: std-unix-request@uunet.uu.net
  3777. Newsgroups: comp.std.unix
  3778. Subject: Prsentation on "Standards for Unix" - Help
  3779. Organization: Kithrup Enterprises, Ltd.
  3780. Sender: sef@ftp.uu.net
  3781. Message-Id: <1rjrqkINNicu@ftp.UU.NET>
  3782. Nntp-Posting-Host: ftp.uu.net
  3783. X-Submissions: std-unix@uunet.uu.net
  3784. Date: 27 Apr 1993 10:51:16 -0700
  3785. Reply-To: std-unix@uunet.uu.net
  3786. To: std-unix@uunet.UU.NET
  3787. Source-Info:  From (or Sender) name not authenticated.
  3788.  
  3789. Submitted-by: jacob@teslab.lab.oz.au (Jacob John)
  3790.  
  3791. I am preparing a literature review on the topic "The Development and
  3792. Current Status of Standards for Unix" as part of my masters course.
  3793. Unfortunately I am unable to find useful references on the above topic.
  3794.  
  3795. Could anyone in the newsgroup help me to locate references for the
  3796. above topic. I would appreciate names of books, magazines, articles etc.
  3797. related to the above topic. Any information on the above topic will be
  3798. very helpful.
  3799.  
  3800. Thanks in advance
  3801.  
  3802. Jacob John
  3803.  
  3804. email: jacob@teslab.lab.oz.au
  3805.  
  3806. phone: (02) 287 6676          level 4 121 Macquarie Street
  3807. fax:   (02) 287 6791          Sydney 2000.
  3808.  
  3809.  
  3810.  
  3811. Volume-Number: Volume 31, Number 42
  3812.  
  3813. From std-unix-request@uunet.UU.NET  Tue Apr 27 14:01:47 1993
  3814. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  3815.     (5.61/UUNET-mail-drop) id AA17456; Tue, 27 Apr 93 14:01:47 -0400
  3816. Received: from kithrup.com by relay2.UU.NET with SMTP 
  3817.     (5.61/UUNET-internet-primary) id AA02171; Tue, 27 Apr 93 14:01:33 -0400
  3818. From: std-unix-request@uunet.uu.net
  3819. Newsgroups: comp.std.unix
  3820. Subject: Re: POSIX.2: what should 'printf "%c" 3' print?
  3821. Organization: Comp Sci, RMIT, Melbourne, Australia
  3822. Sender: sef@ftp.uu.net
  3823. Message-Id: <1rjrlgINNi92@ftp.UU.NET>
  3824. References: <1r77kaINN83e@ftp.UU.NET> <1r77kaINN83e@ftp.UU.NET>,
  3825. Nntp-Posting-Host: ftp.uu.net
  3826. X-Submissions: std-unix@uunet.uu.net
  3827. Date: 27 Apr 1993 10:48:32 -0700
  3828. Reply-To: std-unix@uunet.uu.net
  3829. To: std-unix@uunet.UU.NET
  3830. Source-Info:  From (or Sender) name not authenticated.
  3831.  
  3832. Submitted-by: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
  3833.  
  3834. In article <1r77kaINN83e@ftp.UU.NET>, djm@eng.umd.edu (David J. MacKenzie) writes:
  3835. > Several people have complained that the GNU printf program (part of
  3836. > the GNU shell utilities) handles %c in a less than useful way: it
  3837. > treats the argument as a string and prints the first character.
  3838. > That is how I had interpreted POSIX.2; in particular, this paragraph
  3839. > from the printf section of draft 11.2:
  3840.  
  3841. Just speaking as a user:  I have my own printf(1L) and have had since before
  3842. Chris Torek's came out.  Mine was intended to be as much like C's as it
  3843. could be, and in particular it was important that
  3844.     printf %c 10
  3845. should write a linefeed.  In the current version of my printf(),
  3846. any time that C's printf would accept an integer, mine accepts
  3847. any expression that M4's eval() would accept, so
  3848.     printf "%c" "'\n' == 10 ? 10 : 13"
  3849. does something useful.  It was ever so simple to make this work, and has
  3850. not significantly increased the size of the program.  (That code is free...)
  3851.  
  3852. > I have heard that Chris Torek's BSD printf program does the same thing
  3853. > with %c, but I haven't verified that myself.
  3854.  
  3855. I just tried it, and yes, it _does_ do that rather useless thing.
  3856. If we wanted that, we could use
  3857.     printf %.1s 3
  3858. To quote the on-line manual page:
  3859.     Printf duplicates (as far as possible) the standard C
  3860.     library routine of the same name, at the shell command level.
  3861. If it botches %c like this, then it _doesn't_ duplicate printf(3s) at
  3862. command level.
  3863.  
  3864.  
  3865. Volume-Number: Volume 31, Number 41
  3866.  
  3867. From std-unix-request@uunet.UU.NET  Tue Apr 27 17:43:13 1993
  3868. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3869.     (5.61/UUNET-mail-drop) id AA19085; Tue, 27 Apr 93 17:43:13 -0400
  3870. Received: from kithrup.com by relay1.UU.NET with SMTP 
  3871.     (5.61/UUNET-internet-primary) id AA20224; Tue, 27 Apr 93 17:42:55 -0400
  3872. From: std-unix-request@uunet.uu.net
  3873. Newsgroups: comp.std.unix
  3874. Subject: Re:  Prsentation on "Standards for Unix" - Help
  3875. Organization: Kithrup Enterprises, Ltd.
  3876. Sender: sef@ftp.uu.net
  3877. Message-Id: <1rk8t7INNr3o@ftp.UU.NET>
  3878. Nntp-Posting-Host: ftp.uu.net
  3879. X-Submissions: std-unix@uunet.uu.net
  3880. Date: 27 Apr 1993 14:34:31 -0700
  3881. Reply-To: std-unix@uunet.uu.net
  3882. To: std-unix@uunet.UU.NET
  3883. Source-Info:  From (or Sender) name not authenticated.
  3884.  
  3885. Submitted-by: jsh@canary.com (Jeffrey S. Haemer)
  3886.  
  3887. Jacob,
  3888.  
  3889. I can.  Give me a ring.  Oh sorry. :-)
  3890.  
  3891. Articles appear regularly in this newsgroup reviewing the status
  3892. of a number of UNIX standards activities.
  3893.  
  3894. The Usenix members' newsletter, ;login:, has a monthly section on this
  3895. stuff.
  3896.  
  3897. Jim Isaak at Digital has a monthly "Open Systems Tracking Report"
  3898. that gives information like this, too.
  3899.  
  3900. IEEE Computer has a periodic column on standards that includes the
  3901. POSIX work.
  3902.  
  3903. Sun Expert has a regular standards column by Peter H. Salus.
  3904.  
  3905. There are a number of existing POSIX standards available from the IEEE
  3906. and ISO.  (I believe these are also Australian National Standards.)
  3907.  
  3908. John Quarterman and Susanne Wilhelm have a lovely book out on the
  3909. general topic, published by Addison-Wesley.
  3910.  
  3911. UniForum has a fine "POSIX Explored" series.
  3912.  
  3913. etc.
  3914.  
  3915. Regards,
  3916. Jeff
  3917.  
  3918. [ And, of course, this is an extremely convenient place for the
  3919.   the moderator to point out that all articles are archived on
  3920.   ftp.uu.net, in ~ftp/usenet/comp.std.unix -- mod ]
  3921.  
  3922. Volume-Number: Volume 31, Number 43
  3923.  
  3924. From std-unix-request@uunet.UU.NET  Thu Apr 29 19:23:05 1993
  3925. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  3926.     (5.61/UUNET-mail-drop) id AA21523; Thu, 29 Apr 93 19:23:05 -0400
  3927. Received: from cygnus.com by relay1.UU.NET with SMTP 
  3928.     (5.61/UUNET-internet-primary) id AA00377; Thu, 29 Apr 93 19:22:58 -0400
  3929. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  3930.     id AA10100; Thu, 29 Apr 93 16:21:36 PDT
  3931. From: nick@usenix.org (Nicholas M. Stoughton)
  3932. Newsgroups: comp.std.unix
  3933. Subject: Standards Update, POSIX.0: POSIX Guide
  3934. Organization: USENIX
  3935. Sender: sef@ftp.uu.net
  3936. Message-Id: <1rp44dINNp95@ftp.UU.NET>
  3937. Reply-To: std-unix@uunet.uu.net
  3938. Nntp-Posting-Host: ftp.uu.net
  3939. X-Submissions: std-unix@uunet.uu.net
  3940. Date: 29 Apr 1993 10:43:41 -0700
  3941. To: std-unix@uunet.UU.NET
  3942.  
  3943. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  3944.  
  3945.                USENIX Standards Report
  3946.  
  3947.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  3948.  
  3949.  
  3950. POSIX.0: POSIX Guide
  3951.  
  3952.  
  3953. Kevin Lewis <klewis@gucci.ent.dec.com> reports on the April
  3954. 19-23, 1993 meeting in Irvine, Ca.:
  3955.  
  3956. Let me say right up front that this was quite a productive
  3957. week for the group. Our primary goal was to achieve in
  3958. excess of 75% in our affirmative ballots so as to move into
  3959. recirculation prior to the next meeting in July.  The group
  3960. was successful in achieving this goal. The chronology is as
  3961. follows:
  3962.  
  3963.    + initial number of affirmative ballots received was 28
  3964.      out of 58, placing the percent affirmative at 48%
  3965.  
  3966.    + the group converted 7 ballots to affirmative prior to
  3967.      the April meeting
  3968.  
  3969.    + the group converted 13 ballots to affirmative during
  3970.      the April meeting
  3971.  
  3972.    + this places the current percent affirmative at 82% (48
  3973.      out of 58)
  3974.  
  3975. The issue of public specifications, expected to be a highly
  3976. significant issue, proved to be exactly that for only a
  3977. small number of balloters (five out of 58, three of whom
  3978. could be considered negotiable).
  3979.  
  3980. The POSIX.0 group conducted a Birds-of-a-feather (BOF)
  3981. session on this issue of public specifications to ensure
  3982. that any balloter and any one else with a concern in this
  3983. area had an opportunity have a dialogue with Dot Zero to
  3984. ensure an effective exchange of information.  Our main
  3985. concern prior to this BOF was that the way POSIX.0 sees
  3986. public specs and their use and the way everyone else sees
  3987. this issue might be at odds.
  3988.  
  3989. It became evident after the BOF that the understanding on
  3990. this was mutual.  In fact, there were a very small number of
  3991. people (3 out of about 20 that attended) who had any major
  3992. concern with this topic.
  3993.  
  3994. The ISO WG15 Rapporteur and the SC22 Secretariat
  3995. representative were present during the BOF. I queried them
  3996. on whether or not there was any concern expressed on this
  3997. issue at their respective levels within ISO.  They both
  3998. indicated that each group was aware of the presence of this
  3999. topic in the POSIX.0 guide and no one had expressed any
  4000. concern.
  4001.  
  4002. Given that POSIX.0 has reached the goal enabling a
  4003. recirculation, this will be coordinated with the IEEE with
  4004. the objective of having this next phase start prior to the
  4005. July meeting in Denver.  The group will be in recirculation
  4006. during the July meeting. So our discussions will focus on
  4007. possible future projects, to include a guide in the area of
  4008. Transaction Processing and an IEEE video conference that
  4009. would serve as a tutorial about the use of the guide.
  4010.  
  4011.  
  4012. Volume-Number: Volume 31, Number 44
  4013.  
  4014. From std-unix-request@uunet.UU.NET  Thu Apr 29 19:23:18 1993
  4015. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4016.     (5.61/UUNET-mail-drop) id AA21540; Thu, 29 Apr 93 19:23:18 -0400
  4017. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4018.     (5.61/UUNET-internet-primary) id AA00431; Thu, 29 Apr 93 19:23:01 -0400
  4019. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4020.     id AA10122; Thu, 29 Apr 93 16:21:44 PDT
  4021. From: nick@usenix.org (Nicholas M. Stoughton)
  4022. Newsgroups: comp.std.unix
  4023. Subject: Standards Update, POSIX.4: Real Time
  4024. Organization: USENIX
  4025. Sender: sef@ftp.uu.net
  4026. Message-Id: <1rp4fqINNpke@ftp.UU.NET>
  4027. Reply-To: std-unix@uunet.uu.net
  4028. Nntp-Posting-Host: ftp.uu.net
  4029. X-Submissions: std-unix@uunet.uu.net
  4030. Date: 29 Apr 1993 10:49:46 -0700
  4031. To: std-unix@uunet.UU.NET
  4032.  
  4033. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  4034.  
  4035.                USENIX Standards Report
  4036.  
  4037.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  4038.  
  4039.  
  4040. POSIX.4: Real Time
  4041.  
  4042.  
  4043. Bill O. Gallmeister <bog@lynx.com>, vice chair of the
  4044. POSIX.4 working group. reports on the January 11-15, 1993
  4045. meeting in New Orleans, LA:
  4046.  
  4047. POSIX.4 has, for all intents and purposes, split into two
  4048. separate groups.  On the one hand, we have the existing,
  4049. ``old'' work of POSIX.4: POSIX.4 itself, POSIX.4a (threads),
  4050. and POSIX.13.  These three documents are in balloting right
  4051. now and are not, for the most part, the concern of the
  4052. working group.  On the other hand, the working group is
  4053. busy, mostly with POSIX.4b, a proposal for extended real-
  4054. time functionality.  POSIX.4b is what the working group
  4055. worked on in New Orleans.  This report will briefly cover
  4056. both parts of POSIX.4.
  4057.  
  4058. What We Work On
  4059.  
  4060. First, here's a brief introduction to what we do in POSIX.4.
  4061. POSIX.4, the working group charged with making extensions to
  4062. POSIX to support real-time applications, has a sizable
  4063. stable of proposed standards in its estate.  POSIX.4 is the
  4064. basic realtime standard;  POSIX.4a is the threads extension
  4065. to POSIX;  POSIX.13 is the profiles document that describes
  4066. POSIX for everything from an embedded controller to a large
  4067. workstation-based real-time system;  POSIX.4b is yet more
  4068. real-time extensions (stuff we couldn't agree to work on for
  4069. POSIX.4);  and finally, POSIX.4c is the Language-Independent
  4070. spec and the test assertions for POSIX.4. [Ed. note the
  4071. comments in the editorial on these matters]
  4072.  
  4073. The Old Stuff:  POSIX.4.
  4074.  
  4075. POSIX.4 is the base, real-time standard.  This document is
  4076. so close to finishing, we can taste it!  On the last ballot,
  4077. we achieved an 83% affirmative approval rating.  By that
  4078. metric, we're done.  On the other hand, some of the
  4079. remaining balloters are vociferous and represent large,
  4080. existing bases of UNIX functionality.  For this reason, in
  4081. New Orleans the technical reviewers were still addressing
  4082. the remaining objections, trying to remove as many of these
  4083. as possible.  At the close of the New Orleans meeting, the
  4084. ballot resolution process wasn't completed.  However, since
  4085. then, the resolution process has been finished, and we have
  4086. in fact sent out POSIX.4 for its final recirculation.  Two
  4087. large changes were made from draft 13 to draft 14, along
  4088. with several minor changes.  The major changes are:
  4089.  
  4090.   1.  The real-time files chapter has been removed from the
  4091.       document.  This chapter had become the lightning rod
  4092.       for the majority of the remaining objections, most of
  4093.       which objected to the fact that the facility only
  4094.       seemed able to do contiguous, pre-allocated disk
  4095.       files.  More capability and extensibility was desired.
  4096.       A competing proposal, for a thing called fadvise, has
  4097.       been made by one of the objectors, and it seems like a
  4098.       better solution to the whole issue of real-time files.
  4099.       We will probably be addressing this area in future
  4100.       work of the POSIX.4 working group.  Unfortunately, for
  4101.       now there is no proposal in place for real-time files.
  4102.       I was personally uncomfortable with this action, it
  4103.       being late in the balloting process.  At the same
  4104.       time, though, I do like the fadvise interface more
  4105.       than the POSIX.4 Draft 13 interface, and some of the
  4106.       Draft 13 facilities were, frankly, incomprehensible to
  4107.       me. Basically, I think this action was OK.
  4108.  
  4109.   2.  Some of the POSIX.4 interfaces feature the capability
  4110.       to set up ``something'' that will cause the
  4111.       application to be asynchronously notified in the
  4112.       future.  For instance, a timer expiration, or
  4113.       asynchronous I/O completion, both result in
  4114.       asynchronous notification.  As of draft 13,
  4115.       ``asynchronous notification'' meant a signal was
  4116.       delivered.  Several objectors wanted the ability to
  4117.       replace signals with other, presumably more
  4118.       lightweight methods of asynchronous notification
  4119.       (simply calling a function is a possibility).  Draft
  4120.       14 has been accordingly modified to support extension
  4121.       to new methods of asynchronous notification.  Signals
  4122.       are currently the only known method of asynchronous
  4123.       notification, but other, future mechanisms can now be
  4124.       implemented in a portable fashion under the POSIX.4
  4125.       facilities.  I am quite in favor of this change, as
  4126.       everyone knows there are faster ways of doing
  4127.       asynchronous notification than signals!
  4128.  
  4129. In addition, there are numerous, very minor changes to draft
  4130. 14 of POSIX.4.  At this writing, POSIX.4, Draft 14 has been
  4131. sent out for one last recirculation.  Draft 14 is not a
  4132. complete draft;  it is merely a set of changes from Draft
  4133. 13.  There are about ten pages of changes.  The balloting
  4134. period has already closed, and we are in the process of
  4135. totaling up the responses to this last recirculation.
  4136.  
  4137. More Old Stuff:  POSIX.4a.
  4138.  
  4139. POSIX.4a is the threads proposal.  This document is probably
  4140. of greater interest to a lot of the Usenix members than
  4141. POSIX.4 itself.  Here's a shocker:  POSIX.4a has gone out
  4142. for a recirculation!  After a long while in ballot
  4143. resolution, the threads proposal was just recently sent out
  4144. again.  It should be in the hands of the balloting group for
  4145. another recirculation before this report is published.  With
  4146. any luck, this recirculation will go more smoothly, and more
  4147. swiftly, than the previous two recirculations have.  The
  4148. good news is, this time, POSIX.4a is being recirculated, not
  4149. reballoted.  The previous time around, POSIX.4a was re-
  4150. balloted.  What that means is, the entire draft was open for
  4151. comment.  In a recirculation, by contrast, only the changed
  4152. parts of the proposal can be commented upon.  A reballot is
  4153. required when not enough people deliver an affirmative
  4154. ballot.  Thus, if you need a reballot, you're in trouble.
  4155. The fact that we are re-circulating POSIX.4a is a good sign.
  4156.  
  4157. Yet more Old Stuff:  POSIX.13.
  4158.  
  4159. The profiles document, POSIX.13, is currently still in
  4160. ballot resolution.  It seems to be following the POSIX.4a
  4161. model, wherein the technical reviewers have very little time
  4162. for technical review.  The issues for POSIX.13 are fewer
  4163. than for POSIX.4a -- that's good.  On the other hand, the
  4164. one big issue, subsetting of POSIX.1, is still to be
  4165. addressed.  That's bad.  (For those of you who are just
  4166. learning about the POSIX.4 world, POSIX.13 consists of four
  4167. profiles, ranging from supercomputer real-time all the way
  4168. down to tiny, embedded systems.  These embedded systems
  4169. generally run on hardware that is not capable of supporting
  4170. all of POSIX.1 and POSIX.2 (no disk, no MMU, very little
  4171. memory, etcetera).  For that reason, there is a need for an
  4172. embedded profile to call out a subset of POSIX.1:  it needs
  4173. a lot of POSIX.1, but other parts are simply irrelevant or
  4174. impossible).  Stay tuned for more information on how
  4175. POSIX.13 is doing!
  4176.  
  4177. POSIX.4c
  4178.  
  4179. Some progress has been made towards a language-independent
  4180. specification for POSIX.4.  However, given the current
  4181. instability of the whole LI thing, I wouldn't be surprised
  4182. if we were able to drop this work later on.  For now, work
  4183. continues on LI.
  4184.  
  4185.  
  4186. Volume-Number: Volume 31, Number 47
  4187.  
  4188. From std-unix-request@uunet.UU.NET  Thu Apr 29 19:32:18 1993
  4189. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4190.     (5.61/UUNET-mail-drop) id AA21936; Thu, 29 Apr 93 19:32:18 -0400
  4191. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4192.     (5.61/UUNET-internet-primary) id AA03877; Thu, 29 Apr 93 19:32:02 -0400
  4193. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4194.     id AA10108; Thu, 29 Apr 93 16:21:39 PDT
  4195. From: nick@usenix.org (Nicholas M. Stoughton)
  4196. Newsgroups: comp.std.unix
  4197. Subject: Standards Update, POSIX.18: POSIX Platform Environment Profile
  4198. Organization: USENIX
  4199. Sender: sef@ftp.uu.net
  4200. Message-Id: <1rp48vINNpdv@ftp.UU.NET>
  4201. Reply-To: std-unix@uunet.uu.net
  4202. Nntp-Posting-Host: ftp.uu.net
  4203. X-Submissions: std-unix@uunet.uu.net
  4204. Date: 29 Apr 1993 10:46:07 -0700
  4205. To: std-unix@uunet.UU.NET
  4206.  
  4207. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  4208.  
  4209.                USENIX Standards Report
  4210.  
  4211.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  4212.  
  4213.  
  4214. POSIX.18: POSIX Platform Environment Profile
  4215.  
  4216.  
  4217. Paul Borman <prb@cray.com> reports on the April 19-23, 1993
  4218. meeting in Irvine, Ca.:
  4219.  
  4220. The Reduction Continues.
  4221.  
  4222. At the April meeting in Irvine, the POSIX.14 group dedicated
  4223. one day to the POSIX.18 draft.  It was much easier to work
  4224. on the draft this time, mostly due to its reduced size.  As
  4225. before, the major work done on the draft was reducing the
  4226. number of words.
  4227.  
  4228. First of the areas we attacked this meeting was the
  4229. introduction and scope.  We decided that even though the
  4230. content was basically hidden in there someplace, we would do
  4231. best by just re-writing the introduction and scope instead.
  4232.  
  4233. The next section of the document looked at was the
  4234. definitions section.  After reviewing the definitions of
  4235. conformance, we moved them to the conformance section of the
  4236. document.  We also removed several definitions that were
  4237. either defined in one of the base level standards we
  4238. reference, or were actually simply definitions of English
  4239. words, such as portability.
  4240.  
  4241. In the actual normative text, we moved some of the pieces in
  4242. the ``Language Interoperability'' section to our
  4243. ``Coherency'' section.  This was done to clarify and not
  4244. change content.  The only actually substantial change was to
  4245. remove the FIPS 151-2 requirements for CS7, CS8, CSTOPB,
  4246. PARODD and PARENB, which were added at the last meeting.  It
  4247. was brought to our attention that this was required by NIST
  4248. to facilitate their RS-232 loop back test.  We decided it
  4249. was not appropriate for this profile to require a particular
  4250. hardware interface.
  4251.  
  4252. We had some discussion on the FORTRAN Language option when
  4253. we realized that as the document stood we referenced FORTRAN
  4254. 77, specified Fortran 90 and required a binding to FORTRAN
  4255. 77 (POSIX.9).  Although we are not sure what to do for the
  4256. final draft, we are sure that it should be consistent.  The
  4257. issues are that
  4258.  
  4259.   a.  POSIX.9 currently refers to an ANSI standard (FORTRAN
  4260.       77) and is not an international standard.
  4261.  
  4262.   b.  The International standardized version of Fortran is
  4263.       Fortran 90, which is not as widely used as FORTRAN 77,
  4264.  
  4265.   c.  this profile is intended to be forwarded to ISO.
  4266.  
  4267. The options that we see ahead of us are
  4268.  
  4269.   a.  drop the Fortran Language option (not desirable).
  4270.  
  4271.   b.  have two Fortran Language options (though only the
  4272.       Fortran 90 option would probably make it through ISO,
  4273.       or
  4274.  
  4275.   c.  Wait for a resolution between POSIX.9 and Fortran 90,
  4276.       then do what seems appropriate.
  4277.  
  4278. Finally, we actually removed all references to test methods
  4279. from the document.  The SEC has rescinded the requirement
  4280. for test methods and we had been spending too much time on
  4281. it without having satisfactory results.  This also saves 5
  4282. full sheets of paper (10 pages).
  4283.  
  4284. Once the new editing job has been done, we will probably be
  4285. basically ready to go to ballot, but we will have to wait
  4286. because our document depends on both POSIX.4a and POSIX.1a.
  4287.  
  4288.  
  4289. Volume-Number: Volume 31, Number 45
  4290.  
  4291. From std-unix-request@uunet.UU.NET  Thu Apr 29 19:32:37 1993
  4292. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4293.     (5.61/UUNET-mail-drop) id AA21945; Thu, 29 Apr 93 19:32:37 -0400
  4294. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4295.     (5.61/UUNET-internet-primary) id AA04094; Thu, 29 Apr 93 19:32:25 -0400
  4296. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4297.     id AA10116; Thu, 29 Apr 93 16:21:42 PDT
  4298. From: nick@usenix.org (Nicholas M. Stoughton)
  4299. Newsgroups: comp.std.unix
  4300. Subject: Standards Update, POSIX.19: FORTRAN-90 Bindings
  4301. Organization: USENIX
  4302. Sender: sef@ftp.uu.net
  4303. Message-Id: <1rp4ccINNphb@ftp.UU.NET>
  4304. Reply-To: std-unix@uunet.uu.net
  4305. Nntp-Posting-Host: ftp.uu.net
  4306. X-Submissions: std-unix@uunet.uu.net
  4307. Date: 29 Apr 1993 10:47:56 -0700
  4308. To: std-unix@uunet.UU.NET
  4309.  
  4310. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  4311.  
  4312.                USENIX Standards Report
  4313.  
  4314.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  4315.  
  4316.  
  4317. POSIX.19: FORTRAN-90 Bindings
  4318.  
  4319.  
  4320. Michael J. Hannah <mjhannah@sandia.gov>, chair of POSIX.19
  4321. reports on the April 19-23, 1993 meeting in Irvine, Ca.:
  4322.  
  4323. This was an important meeting for anyone following the
  4324. subject of Fortran language bindings to POSIX.  After two
  4325. years of effort to drum up interest in a Fortran 90 binding,
  4326. the POSIX.9 Working Group proposes to call it quits.  The
  4327. few folks who are left believe that there is an insufficient
  4328. body of knowledge, practice, or users of ISO/IEC 1539:1991
  4329. (Fortran 90) to sustain the effort of producing a POSIX
  4330. binding at this time, especially in light of a number of
  4331. outstanding technical issues.  Many of these issues concern
  4332. trying to determine how best to use the new features of the
  4333. Fortran 90 language in a POSIX binding.  However, in a
  4334. spirit of one last time, the Working Group postponed until
  4335. July the final act that would disband the Working Group.  At
  4336. the July POSIX meeting, the Working Group will meet for one
  4337. day only, Monday July 12.  Barring a large turnout desiring
  4338. to retain the Working Group, the Working Group will
  4339. recommend that the executive committee of POSIX withdraw
  4340. sponsorship of the Fortran 90 binding project and disband
  4341. the group.
  4342.  
  4343. The group is circulating a draft of a final report among
  4344. members who have participated in the effort so far, and will
  4345. present the completed final report at the July meeting.
  4346.  
  4347. The probable demise of this working group raises several
  4348. questions about POSIX and language bindings:
  4349.  
  4350.   1.  How many different languages are likely to bind to
  4351.       POSIX?  If this is only a few, does this imply that
  4352.       POSIX is less valuable?
  4353.  
  4354.   2.  Is POSIX just for C and Ada, and all other languages
  4355.       should simply figure out how to call system routines
  4356.       in those languages?  Does this make those other
  4357.       languages second class citizens in a POSIX world?
  4358.  
  4359.   3.  If there are to be future language bindings, should
  4360.       the IEEE with its POSIX steering committee sponsor
  4361.       that work, or should the committees that define and
  4362.       standardize the language (usually part of ANSI X3)
  4363.       define those bindings?  There is some discussion of
  4364.       Modula 2 and COBOL doing this, and the Fortran 90
  4365.       project might be resurrected in X3J3 rather than IEEE
  4366.       POSIX.  Is this good or bad?
  4367.  
  4368.   4.  Is the lack of interest in Fortran 90 simply a timing
  4369.       issue due to the lack of widespread access to Fortran
  4370.       90 compilers, or is it due to a lack of interest in
  4371.       Fortran 90 itself? or is this just another victim of
  4372.       the economy?
  4373.  
  4374. There are undoubtedly a wide variety of reasons why there is
  4375. insufficient support at this time for this work.  There
  4376. could be considerable debate over which reason was the most
  4377. significant.  Some would argue that the group should never
  4378. have tried to start.  However, it is clear that there is
  4379. inadequate support to continue.  I believe it is the
  4380. responsible thing to disband this working group.  If you
  4381. don't agree, now is the time to speak up.
  4382.  
  4383.  
  4384. Volume-Number: Volume 31, Number 46
  4385.  
  4386. From std-unix-request@uunet.UU.NET  Fri Apr 30 13:47:43 1993
  4387. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4388.     (5.61/UUNET-mail-drop) id AA22360; Fri, 30 Apr 93 13:47:43 -0400
  4389. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4390.     (5.61/UUNET-internet-primary) id AA26330; Fri, 30 Apr 93 13:47:41 -0400
  4391. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4392.     id AA09593; Fri, 30 Apr 93 10:47:40 PDT
  4393. From: cimshop!davidm@uunet.UU.NET (David S. Masterson)
  4394. Newsgroups: comp.std.unix
  4395. Subject: Re: POSIX.2: what should 'printf "%c" 3' print?
  4396. Organization: Consilium Inc., Mountain View, California
  4397. Sender: sef@ftp.uu.net
  4398. Message-Id: <1rro2qINNk3f@ftp.UU.NET>
  4399. References: <1r77kaINN83e@ftp.UU.NET> <1r77kaINN83e@ftp.UU.NET>, <1rjrlgINNi92@ftp.UU.NET>
  4400. Nntp-Posting-Host: ftp.uu.net
  4401. X-Submissions: std-unix@uunet.uu.net
  4402. Date: 30 Apr 1993 10:36:26 -0700
  4403. Reply-To: std-unix@uunet.uu.net
  4404. To: std-unix@uunet.UU.NET
  4405.  
  4406. Submitted-by: davidm@cimshop.UUCP (David S. Masterson)
  4407.  
  4408. Just my two cents:
  4409.  
  4410. Shouldn't 'printf "%c" 3' output a NULL byte?  I would expect that the '3'
  4411. would be stored in as a 4 byte integer of which the first 3 bytes are '0'.
  4412. The '%c' should take the byte at the address of the argument to printf (not
  4413. what that argument points to) and output it as an ASCII character (in this
  4414. case NULL).  Without testing it, I'm not sure -- is this not what happens?
  4415.  
  4416. --
  4417. David Masterson                    Consilium, Inc.
  4418. (415) 691-6311                    640 Clyde Ct.
  4419. davidm@consilium.com                Mtn. View, CA  94043
  4420.  
  4421. Volume-Number: Volume 31, Number 48
  4422.  
  4423. From std-unix-request@uunet.UU.NET  Mon May  3 15:49:16 1993
  4424. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4425.     (5.61/UUNET-mail-drop) id AA25794; Mon, 3 May 93 15:49:16 -0400
  4426. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4427.     (5.61/UUNET-internet-primary) id AA03520; Mon, 3 May 93 15:49:05 -0400
  4428. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4429.     id AA15499; Mon, 3 May 93 12:49:02 PDT
  4430. From: d@exnet.co.uk (Damon)
  4431. Newsgroups: comp.std.unix
  4432. Subject: Re: POSIX.2: what should 'printf "%c" 3' print?
  4433. Organization: ExNet Systems Ltd Public Access News, London, UK
  4434. Sender: sef@ftp.uu.net
  4435. Message-Id: <1s3sf1INNbuj@ftp.UU.NET>
  4436. References: <1r77kaINN83e@ftp.UU.NET> <1rjrlgINNi92@ftp.UU.NET> <1rro2qINNk3f@ftp.UU.NET>
  4437. Nntp-Posting-Host: ftp.uu.net
  4438. X-Submissions: std-unix@uunet.uu.net
  4439. Date: 3 May 1993 12:40:17 -0700
  4440. Reply-To: std-unix@uunet.uu.net
  4441. To: std-unix@uunet.UU.NET
  4442.  
  4443. Submitted-by: d@exnet.co.uk (Damon)
  4444.  
  4445. In article <1rro2qINNk3f@ftp.UU.NET> davidm@cimshop.UUCP (David S. Masterson) writes:
  4446. >Shouldn't 'printf "%c" 3' output a NULL byte?  I would expect that the '3'
  4447. >would be stored in as a 4 byte integer of which the first 3 bytes are '0'.
  4448. >The '%c' should take the byte at the address of the argument to printf (not
  4449. >what that argument points to) and output it as an ASCII character (in this
  4450. >case NULL).  Without testing it, I'm not sure -- is this not what happens?
  4451.  
  4452. My understanding of printf() as a normal UNIX C library function is
  4453. that is prints the byte/character corresponding to the integer passed to
  4454. it as in:
  4455.  
  4456.     {
  4457.     int ic;
  4458.  
  4459.     while((ic = getchar()) != EOF) { printf("%c", ic); }
  4460.     }
  4461.  
  4462.     which should be exactly equivalent to:
  4463.  
  4464.     {
  4465.     int ic;
  4466.  
  4467.     while((ic = getchar()) != EOF) { putchar(ic); }
  4468.     }
  4469.  
  4470. If %c now behaves like %s then, IMHO, the POSIX group have goofed, big-time.
  4471.  
  4472. -- 
  4473. Damon Hart-Davis   d@hd.org   London UK
  4474. Tel/Fax: +44 81 755 0077======Two jobs:
  4475. (1) Parallelogram Editor,        [1.42]
  4476. (2) Seller of public-access news/mail & cheap Suns (mail info@exnet.co.uk).
  4477.  
  4478.  
  4479. Volume-Number: Volume 31, Number 49
  4480.  
  4481. From std-unix-request@uunet.UU.NET  Mon May  3 15:51:24 1993
  4482. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4483.     (5.61/UUNET-mail-drop) id AA26109; Mon, 3 May 93 15:51:24 -0400
  4484. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4485.     (5.61/UUNET-internet-primary) id AA04099; Mon, 3 May 93 15:51:17 -0400
  4486. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4487.     id AA15546; Mon, 3 May 93 12:50:52 PDT
  4488. From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
  4489. Newsgroups: comp.std.unix
  4490. Subject: Re: POSIX.2: what should 'printf "%c" 3' print?
  4491. Organization: Comp Sci, RMIT, Melbourne, Australia
  4492. Sender: sef@ftp.uu.net
  4493. Message-Id: <1s3shfINNc1t@ftp.UU.NET>
  4494. References: <1r77kaINN83e@ftp.UU.NET> <1r77kaINN83e@ftp.UU.NET>, <1rro2qINNk3f@ftp.UU.NET> <1rro2qINNk3f@ftp.UU.NET>,
  4495. Nntp-Posting-Host: ftp.uu.net
  4496. X-Submissions: std-unix@uunet.uu.net
  4497. Date: 3 May 1993 12:41:35 -0700
  4498. Reply-To: std-unix@uunet.uu.net
  4499. To: std-unix@uunet.UU.NET
  4500.  
  4501. Submitted-by: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
  4502.  
  4503. In article <1rro2qINNk3f@ftp.UU.NET>, davidm@cimshop.UUCP (David S. Masterson) writes:
  4504. > Submitted-by: davidm@cimshop.UUCP (David S. Masterson)
  4505. > Shouldn't 'printf "%c" 3' output a NULL byte?  I would expect that the '3'
  4506. > would be stored in as a 4 byte integer of which the first 3 bytes are '0'.
  4507. > The '%c' should take the byte at the address of the argument to printf (not
  4508. > what that argument points to) and output it as an ASCII character (in this
  4509. > case NULL).  Without testing it, I'm not sure -- is this not what happens?
  4510.  
  4511. Recall that
  4512. (1) The existing documentation for Chris Torek's printf(1)  -- and the
  4513.     undocumented intent of mine, which unfortunately uses proprietary
  4514.     Quintus code for the underlying printf() engine -- has it that
  4515.  
  4516.     Printf duplicates (as far as possible) the standard C
  4517.     library routine of the same name
  4518.  
  4519.     In C, printf("%c", 3) writes a byte with value \003 (unless of course
  4520.     '\n' == '\003', in which case strange things might happen).  It does
  4521.     not write a NUL byte.
  4522.  
  4523. (2) There are at least _three_ languages in *IX which have printf():
  4524.     (A) C
  4525.     (B) AWK -- which is part of .2
  4526.     (C) SH -- the printf(1) command
  4527.     So we would expect that
  4528.     printf "%c" 3
  4529.     and
  4530.     awk -e 'END { printf("%c", 3) }' </dev/null
  4531.     would produce the same results.
  4532.  
  4533. (3) Who said that the printf(1) command uses 4 byte integers?
  4534.  
  4535. (4) "The '%c' should take the byte at the address of the argument to
  4536.     printf".  WHAT address?  In the C equivalent, namely
  4537.     printf("%c", 3)
  4538.     printf() receives the numeric value 3, not the address of anything.
  4539.     Certainly a command line notionally contains no addresses.
  4540.  
  4541. (5) For what it's worth, the relevant part of the code in my printf(1)
  4542.     looks like this:
  4543.  
  4544. long get_integer_arg(operands, size)
  4545.     char ***operands;
  4546.     int size;
  4547.     {
  4548.         char *arg = *++*operands;
  4549.     long result;
  4550.  
  4551.         if (!arg) insufficient_arguments();
  4552.         result = expr(arg);        /* copied from PD M4's eval() */
  4553.     switch (size) {
  4554.         case BYTE_SIZE: return result & 255;
  4555.         case HALF_SIZE: return result & 65535;
  4556.         case LONG_SIZE: return result;
  4557.     }
  4558.     }
  4559.  
  4560.                     case 'c':
  4561.             c = get_integer_arg(&operands, operand_size);
  4562.                         /* drop through */
  4563.                     default:
  4564. literal:                if (precision < 0) precision = 1;
  4565.                         if ((field_width -= precision) <= 0) {
  4566.                             PUTCHR(c, precision);
  4567.                         } else
  4568.                         if (justification == GAMMA_PADDING) {
  4569.                             PUTCHR(c, precision);
  4570.                             PUTCHR(padding_character, field_width);
  4571.                         } else {
  4572.                             PUTCHR(padding_character, field_width);
  4573.                             PUTCHR(c, precision);
  4574.                         }
  4575.                         break;
  4576.  
  4577.     PUTCHAR(char, count) writes out count copies of the character (stored
  4578.     in) char.  So, for my implementation, it would make exactly as much
  4579.     sense for 'printf %c 3' to write a NUL character as it would for
  4580.     'printf "x"' to write a NUL character; the same code handles both.
  4581.     The only address here is operands, which is a pointer into argv[].
  4582.  
  4583.  
  4584.  
  4585. Volume-Number: Volume 31, Number 50
  4586.  
  4587. From std-unix-request@uunet.UU.NET  Tue May  4 22:46:54 1993
  4588. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4589.     (5.61/UUNET-mail-drop) id AA18551; Tue, 4 May 93 22:46:54 -0400
  4590. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4591.     (5.61/UUNET-internet-primary) id AA13414; Tue, 4 May 93 22:46:53 -0400
  4592. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4593.     id AA14596; Tue, 4 May 93 19:46:52 PDT
  4594. From: pma@rutherford.ac.uk (Peter Allan)
  4595. Newsgroups: comp.std.unix
  4596. Subject: Re: Standards Update, POSIX.19: FORTRAN-90 Bindings
  4597. Organization: Rutherford Appleton Laboratory
  4598. Sender: sef@ftp.uu.net
  4599. Message-Id: <1s6v0bINN9ei@ftp.UU.NET>
  4600. References: <1rp4ccINNphb@ftp.UU.NET>
  4601. Reply-To: pma@rutherford.ac.uk (Peter Allan)
  4602. X-Submissions: std-unix@uunet.uu.net
  4603. Date: 4 May 1993 16:42:03 -0700
  4604. To: std-unix@uunet.UU.NET
  4605.  
  4606. Submitted-by: pma@rutherford.ac.uk (Peter Allan)
  4607.  
  4608. I was rather surprised and disappointed to hear of the probable demise
  4609. of the work on a Fortran 90 binding for POSIX. I have seen a draft of the 
  4610. proposed Fortran 77 binding and I do not particularly like it. I do not wish
  4611. to be critical of the work of that committee as it seems to me that this 
  4612. is a classic example of "if you want to get there, you should not start
  4613. from here" (i.e. Fortran 77). The spirit of Fortran 77 has to be bent to
  4614. get a POSIX interface and I had great hopes that a Fortran 90 one would be
  4615. a great deal better.
  4616.  
  4617. The project that I work for is just beginning to get to grips with 
  4618. Fortran 90 and it would certainly make the language more attractive if 
  4619. there was a POSIX binding.
  4620.  
  4621. Perhaps this is just a question of timing after all. While it may not yet 
  4622. seem timely to propose the correct POSIX binding to Fortran 90, it seems
  4623. clear to me that it is easy to come up with a binding that is superior to
  4624. any possible Fortran 77 binding. It would be most unfortunate if work on 
  4625. a Fortran 90 binding were delayed to the extent that it affected the take
  4626. up of Fortran 90 as a language.
  4627.  
  4628. On the technical side, I would not assume that it will be possible to provide
  4629. a satisfactory Fortran to C interface on all platforms. An example (of dubious
  4630. relevance) is that if you call functions written in Microsoft C from routines
  4631. written in Microsoft Fortran, you cannot get hold of the length of a passed 
  4632. length character argument.
  4633.  
  4634. Peter Allan
  4635. STARLINK project
  4636. Rutherford Appleton Laboratory
  4637.  
  4638.  
  4639. Volume-Number: Volume 31, Number 51
  4640.  
  4641. From std-unix-request@uunet.UU.NET  Wed May  5 13:31:24 1993
  4642. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  4643.     (5.61/UUNET-mail-drop) id AA18606; Wed, 5 May 93 13:31:24 -0400
  4644. Received: from cygnus.com by relay2.UU.NET with SMTP 
  4645.     (5.61/UUNET-internet-primary) id AA27692; Wed, 5 May 93 13:31:03 -0400
  4646. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4647.     id AA12410; Wed, 5 May 93 10:14:42 PDT
  4648. From: jazz@hal.com (Jason Zions)
  4649. Newsgroups: comp.std.unix
  4650. Subject: Re: Standards Update, POSIX.19: FORTRAN-90 Bindings
  4651. Organization: Kithrup Enterprises, Ltd.
  4652. Sender: sef@ftp.uu.net
  4653. Message-Id: <1s8s33INNkus@ftp.UU.NET>
  4654. Nntp-Posting-Host: ftp.uu.net
  4655. X-Submissions: std-unix@uunet.uu.net
  4656. Date: 5 May 1993 10:04:35 -0700
  4657. Reply-To: std-unix@uunet.uu.net
  4658. To: std-unix@uunet.UU.NET
  4659.  
  4660. Submitted-by: jazz@hal.com (Jason Zions)
  4661.  
  4662. >I have seen a draft of the 
  4663. >proposed Fortran 77 binding and I do not particularly like it.
  4664.  
  4665. You're looking at the wrong book; the Fortran 77 standard was approved by
  4666. the IEEE Standards Board a while back; copies of the completed IEEE Std
  4667. 1003.9-1992 have been available for a few months now. You probably still
  4668. won't like it, though.
  4669.  
  4670. > I had great hopes that a Fortran 90 one would be
  4671. >a great deal better.
  4672.  
  4673. So did everyone working on 1003.19.
  4674.  
  4675. >The project that I work for is just beginning to get to grips with 
  4676. >Fortran 90 and it would certainly make the language more attractive if 
  4677. >there was a POSIX binding.
  4678.  
  4679. Beat on your Fortran language vendor to provide you with one. This is the
  4680. only way there will ever be sufficient existing practice to consider
  4681. standardizing such a binding.
  4682.  
  4683. > It would be most unfortunate if work on 
  4684. >a Fortran 90 binding were delayed to the extent that it affected the take
  4685. >up of Fortran 90 as a language.
  4686.  
  4687. Backwards. If '90 is never taken up as an effective language, never taken up
  4688. to the degree that some vendor or vendors take the time to develop POSIX
  4689. bindings, then development of a standard POSIX binding will be delayed,
  4690. probably permanently. If that degree of uptake doesn't occur, then it's a
  4691. good thing the POSIX machinery never wasted time and resources developing a
  4692. binding no one wanted or used.
  4693.  
  4694. >On the technical side, I would not assume that it will be possible to provide
  4695. >a satisfactory Fortran to C interface on all platforms. An example (of dubious
  4696. >relevance) is that if you call functions written in Microsoft C from routines
  4697. >written in Microsoft Fortran, you cannot get hold of the length of a passed 
  4698. >length character argument.
  4699.  
  4700. This is a language interoperability issue, which is not address by any IEEE
  4701. standard. When vendors implement 1003.9, they need merely ensure the correct
  4702. semantic things happen; they're not required to implement the F77 equivalent
  4703. of open() by calling the C-language open(), they can use assembler magic and
  4704. intimate knowledge of their compiler's generated code, etc. The issue of a
  4705. function in one language calling a function in another language is a very
  4706. difficult issue, ISO is busy inventing solutions over in JTC1 SC22 WG11
  4707. (don't hold me to the WG number, it may be WG7).
  4708.  
  4709. POSIX, when it's working right, doesn't invent.
  4710.  
  4711. Jason Zions
  4712. Chair, IEEE P1003.8 Transparent File Access
  4713. Disclaimer: This is not an official statement of IEEE P1003.8, IEEE PASC
  4714. (its sponsoring body), IEEE-CS, or IEEE.
  4715.  
  4716.  
  4717. Volume-Number: Volume 31, Number 52
  4718.  
  4719. From std-unix-request@uunet.UU.NET  Wed May  5 13:32:44 1993
  4720. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4721.     (5.61/UUNET-mail-drop) id AA18733; Wed, 5 May 93 13:32:44 -0400
  4722. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4723.     (5.61/UUNET-internet-primary) id AA03674; Wed, 5 May 93 13:32:43 -0400
  4724. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4725.     id AA12684; Wed, 5 May 93 10:22:23 PDT
  4726. From: wulkan@vnet.IBM.COM (Mike Wulkan)
  4727. Newsgroups: comp.std.unix
  4728. Subject: Confusing abort() semantics
  4729. Organization: Kithrup Enterprises, Ltd.
  4730. Sender: sef@ftp.uu.net
  4731. Message-Id: <1s8s8bINNl4h@ftp.UU.NET>
  4732. Nntp-Posting-Host: ftp.uu.net
  4733. X-Submissions: std-unix@uunet.uu.net
  4734. Date: 5 May 1993 10:07:23 -0700
  4735. Reply-To: std-unix@uunet.uu.net
  4736. To: std-unix@uunet.UU.NET
  4737.  
  4738. Submitted-by: wulkan@vnet.IBM.COM (Mike Wulkan)
  4739.  
  4740. Let me set the stage:
  4741.  
  4742. 1)  ANSI C Standard Section 4.10.4.1 abort():
  4743.     "...causes abnormal program termination to occur, unless the signal
  4744.     SIGABRT is being caught and the signal handler does not return.  ...
  4745.     is returned to the host environment by means of the function call
  4746.     raise(SIGABRT)."
  4747.  
  4748. 2)  Posix .4a Section 2.2.1.136:
  4749.     "Asynchronously generated signal: A signal which is not
  4750.     attributable to a specific thread.  Examples are signals sent via
  4751.     kill(), ..."
  4752.  
  4753. 3)  Posix .4a Section 8.4.6.2:
  4754.     "The C standard raise() function...  The effect of this function in
  4755.     a POSIX.4a process shall be equivalent to calling
  4756.     kill(getpid(),sig).  The signal specified shall be asynchronously
  4757.     generated, regardless of the signal number, providing the signal
  4758.     number is valid."
  4759.  
  4760. I think that it is pretty clear from the above that abort() causes an
  4761. asynchronous SIGABRT signal to be generated.  So how do you achieve the
  4762. semantics required by (1) if the SIGABRT signal is delivered to a thread
  4763. other than the one that issued the abort() call?  What you end up with
  4764. is a race condition between the thread that is executing the SIGABRT
  4765. signal handler and the thread that issued the abort() function call
  4766. terminating the program!  AND the method of exiting the signal handling
  4767. function has NO influence on whether the program will be terminated.
  4768. This is a direct violation of ANSI C.
  4769.  
  4770. Even in the case where the SIGABRT signal is delivered to the same
  4771. thread that issued the abort() function call, since the signal is
  4772. asynchronous, there is NO guarantee that it will be delivered before the
  4773. abort() function initiates termination of the program.
  4774.  
  4775. Can someone please point out something in the ANSI, POSIX.1 and/or
  4776. POSIX.4a that gets me out of this quandary?
  4777.  
  4778. Thanks,
  4779.  
  4780. Mike Wulkan
  4781.  
  4782.  
  4783. Volume-Number: Volume 31, Number 53
  4784.  
  4785. From std-unix-request@uunet.UU.NET  Fri May  7 04:08:12 1993
  4786. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4787.     (5.61/UUNET-mail-drop) id AA21212; Fri, 7 May 93 04:08:12 -0400
  4788. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4789.     (5.61/UUNET-internet-primary) id AA11246; Fri, 7 May 93 04:08:09 -0400
  4790. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4791.     id AA26778; Fri, 7 May 93 01:08:05 PDT
  4792. From: gwyn@smoke.brl.mil (Doug Gwyn)
  4793. Newsgroups: comp.std.unix
  4794. Subject: Re: Standards Update, POSIX.19: FORTRAN-90 Bindings
  4795. Organization: U.S. Army Ballistic Research Lab, APG MD.
  4796. Sender: sef@ftp.uu.net
  4797. Message-Id: <1sd4rqINN53e@ftp.UU.NET>
  4798. References: <1rp4ccINNphb@ftp.UU.NET> <1s6v0bINN9ei@ftp.UU.NET>
  4799. Nntp-Posting-Host: ftp.uu.net
  4800. X-Submissions: std-unix@uunet.uu.net
  4801. Date: 7 May 1993 00:58:50 -0700
  4802. Reply-To: std-unix@uunet.uu.net
  4803. To: std-unix@uunet.UU.NET
  4804.  
  4805. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  4806.  
  4807. In article <1s6v0bINN9ei@ftp.UU.NET> pma@rutherford.ac.uk (Peter Allan) writes:
  4808. >The spirit of Fortran 77 has to be bent to get a POSIX interface and
  4809. >I had great hopes that a Fortran 90 one would be a great deal better.
  4810.  
  4811. I think the very notion that a POSIX binding should be feasible for an
  4812. arbitrary procedural programming language is in error.
  4813.  
  4814. Back in the early days of UNIX, a large fraction of the system calls
  4815. were supported in the UNIX Fortran library, but people who tried
  4816. doing much UNIX system programming in Fortran (and there were a lot
  4817. of us) found out pretty quickly that it was a mistake to try to use
  4818. the language for purposes for which it was ill suited, and switched
  4819. to C for serious system programming.  In Fortran programs we still
  4820. occasionally used the system() function but that was about it.
  4821.  
  4822.  
  4823. Volume-Number: Volume 31, Number 56
  4824.  
  4825. From std-unix-request@uunet.UU.NET  Fri May  7 04:08:11 1993
  4826. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4827.     (5.61/UUNET-mail-drop) id AA21210; Fri, 7 May 93 04:08:11 -0400
  4828. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4829.     (5.61/UUNET-internet-primary) id AA11224; Fri, 7 May 93 04:08:08 -0400
  4830. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4831.     id AA26772; Fri, 7 May 93 01:08:03 PDT
  4832. From: eposnak@dale.ksc.nasa.gov (Ed Posnak)
  4833. Newsgroups: comp.std.unix
  4834. Subject: POSIX.4 Semaphores
  4835. Organization: NASA
  4836. Sender: sef@ftp.uu.net
  4837. Message-Id: <1sd4qkINN51r@ftp.UU.NET>
  4838. Nntp-Posting-Host: ftp.uu.net
  4839. X-Submissions: std-unix@uunet.uu.net
  4840. Date: 7 May 1993 00:58:12 -0700
  4841. Reply-To: std-unix@uunet.uu.net
  4842. To: std-unix@uunet.UU.NET
  4843.  
  4844. Submitted-by: eposnak@dale.ksc.nasa.gov (Ed Posnak)
  4845.  
  4846. When a process holding a lock is killed (executes _exit) is it 
  4847. a. required to release the lock so that another process doing a sem_wait() 
  4848.    can proceed
  4849. b. required not to
  4850. c. implementation defined
  4851. d. none of the above ???
  4852.  
  4853. I do not have draft 14, so any help is appreciated.  
  4854.  
  4855. thanks, 
  4856.  
  4857. -- 
  4858. Ed Posnak
  4859. Harris Space Systems Corporation
  4860. eposnak%core1@kssib.ksc.nasa.gov
  4861.  
  4862.  
  4863. Volume-Number: Volume 31, Number 55
  4864.  
  4865. From std-unix-request@uunet.UU.NET  Fri May  7 04:08:14 1993
  4866. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  4867.     (5.61/UUNET-mail-drop) id AA21216; Fri, 7 May 93 04:08:14 -0400
  4868. Received: from cygnus.com by relay1.UU.NET with SMTP 
  4869.     (5.61/UUNET-internet-primary) id AA11278; Fri, 7 May 93 04:08:12 -0400
  4870. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  4871.     id AA26784; Fri, 7 May 93 01:08:10 PDT
  4872. From: gwyn@smoke.brl.mil (Doug Gwyn)
  4873. Newsgroups: comp.std.unix
  4874. Subject: Re: Confusing abort() semantics
  4875. Organization: U.S. Army Ballistic Research Lab, APG MD.
  4876. Sender: sef@ftp.uu.net
  4877. Message-Id: <1sd4p9INN500@ftp.UU.NET>
  4878. References: <1s8s8bINNl4h@ftp.UU.NET>
  4879. Nntp-Posting-Host: ftp.uu.net
  4880. X-Submissions: std-unix@uunet.uu.net
  4881. Date: 7 May 1993 00:57:29 -0700
  4882. Reply-To: std-unix@uunet.uu.net
  4883. To: std-unix@uunet.UU.NET
  4884.  
  4885. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  4886.  
  4887. In article <1s8s8bINNl4h@ftp.UU.NET> wulkan@vnet.IBM.COM (Mike Wulkan) writes:
  4888. >1)  ANSI C Standard Section 4.10.4.1 abort():
  4889. >    "...causes abnormal program termination to occur, unless the signal
  4890. >    SIGABRT is being caught and the signal handler does not return.  ...
  4891. >    is returned to the host environment by means of the function call
  4892. >    raise(SIGABRT)."
  4893. >2)  Posix .4a Section 2.2.1.136:
  4894. >    "Asynchronously generated signal: A signal which is not
  4895. >    attributable to a specific thread.  Examples are signals sent via
  4896. >    kill(), ..."
  4897. >3)  Posix .4a Section 8.4.6.2:
  4898. >    "The C standard raise() function...  The effect of this function in
  4899. >    a POSIX.4a process shall be equivalent to calling
  4900. >    kill(getpid(),sig).  The signal specified shall be asynchronously
  4901. >    generated, regardless of the signal number, providing the signal
  4902. >    number is valid."
  4903. >I think that it is pretty clear from the above that abort() causes an
  4904. >asynchronous SIGABRT signal to be generated.
  4905.  
  4906. Yes, to the extent that "asynchronous" is (re)defined as per POSIX.4a,
  4907. where it seems to mean "process global".
  4908.  
  4909. >So how do you achieve the semantics required by (1) if the SIGABRT signal
  4910. >is delivered to a thread other than the one that issued the abort() call?
  4911.  
  4912. Well, the first thing to note is that the C standard specifies only what
  4913. is guaranteed for STRICTLY CONFORMING programs, which excludes any program
  4914. that uses POSIX.4a thread facilities.  So, strictly speaking, there is
  4915. no standard requirement imposed by (1) in such circumstances.
  4916.  
  4917. >What you end up with is a race condition between the thread that is
  4918. >executing the SIGABRT signal handler and the thread that issued the
  4919. >abort() function call terminating the program!
  4920.  
  4921. Any time you have multiple threads you already have a race.
  4922.  
  4923. >AND the method of exiting the signal handling function has NO influence
  4924. >on whether the program will be terminated.  This is a direct violation
  4925. >of ANSI C.
  4926.  
  4927. I didn't understand that comment at all.  Certainly the POSIX.4a
  4928. requirement for the implementation of raise() is compatible with the
  4929. requirements of the C standard.  And I saw nothing in the cited specs
  4930. that requires that abort() be implemented any differently for POSIX.4a
  4931. than for POSIX.1.  I have attached my implementation below for your
  4932. perusal.
  4933.  
  4934. >Even in the case where the SIGABRT signal is delivered to the same
  4935. >thread that issued the abort() function call, since the signal is
  4936. >asynchronous, there is NO guarantee that it will be delivered before the
  4937. >abort() function initiates termination of the program.
  4938.  
  4939. I think that is simply a misconception of the way that abort() must
  4940. operate.  It is the unintercepted SIGABRT, generated by abort(), that
  4941. CAUSES (abnormal) program termination.
  4942.  
  4943. In the comments below, "asynchronous" means "asynchronous", not the
  4944. POSIX.4a redefinition of the term.
  4945.  
  4946. /*
  4947.     abort() -- generate an abnormal process termination
  4948.  
  4949.     public-domain implementation
  4950.  
  4951.     last edit:    13-Dec-1992    Gwyn@ARL.Army.Mil
  4952.  
  4953.     complies with the following standards:
  4954.         ANSI/ISO 9899:1990[1992] (replaces ANS X3.159-1989)
  4955.         ISO/IEC 9945-1 (Replaces IEEE Std 1003.1-1988)
  4956.         SVID Issue 3
  4957.         XPG Issue 3
  4958.         AES Revision A
  4959.  
  4960.     IMPLEMENTOR NOTE:  abort() must be reentrant for other signals
  4961.         that may occur asynchronously, resulting in additional
  4962.         calls to abort() from their handler functions.
  4963.         Consequently, the STDIO cleanup function must also be
  4964.         reentrant or else it must block signals and be serially
  4965.         reusable.
  4966.  */
  4967. #ifdef    __ORCAC__
  4968. #pragma lint        -1
  4969. #pragma optimize    -1
  4970. #pragma noroot
  4971. #endif
  4972.  
  4973. /* IMPORTANT: Define CLEANUP to invoke your STDIO cleanup function: */
  4974. #ifdef    unix
  4975. extern void    _cleanup();
  4976. #define CLEANUP _cleanup();        /* usual invocation through SVR2 */
  4977. #else
  4978. #ifdef    __ORCAC__
  4979. #define SysIOShutdown    SYSIOSHUTDOWN    /* temporary, for ORCA/C 2.0.0 D6 */
  4980. extern pascal void    SysIOShutdown( void );
  4981. #define CLEANUP SysIOShutdown();    /* ~C_SHUTDOWN undoubtedly better */
  4982. #else
  4983. #define CLEANUP /* XXX -- define yours here -- XXX */
  4984. #endif
  4985. #endif
  4986.  
  4987. #define _POSIX_SOURCE    /* force visibility of POSIX.1 symbols, if any */
  4988. #include    <signal.h>
  4989.  
  4990. typedef void    (*sigf_type)(
  4991. #ifdef    __STDC__
  4992.                   int
  4993. #endif
  4994.                 );
  4995.  
  4996. #ifndef    SIGABRT
  4997. #define    SIGABRT    SIGIOT            /* UNIX tradition */
  4998. #endif
  4999.  
  5000. void
  5001. abort(
  5002. #ifdef    __STDC__
  5003.        void
  5004. #endif
  5005.      )
  5006.     {
  5007.     register sigf_type     sigfunc = signal( SIGABRT, SIG_IGN );
  5008. #ifdef    SIG_BLOCK            /* POSIX.1 support assumed */
  5009.     sigset_t        abort_mask;
  5010.  
  5011.     (void)sigemptyset( &abort_mask );
  5012.     (void)sigaddset( &abort_mask, SIGABRT );
  5013.     (void)sigprocmask( SIG_UNBLOCK, &abort_mask, (sigset_t *)0 );
  5014.     /* If a SIGABRT signal was pending, it has now been discarded. */
  5015. #endif
  5016.  
  5017.     if ( sigfunc == SIG_IGN )
  5018.         sigfunc == SIG_DFL;
  5019.  
  5020.     if ( sigfunc == SIG_DFL )
  5021.         CLEANUP         /* flush STDIO buffers etc. */
  5022.  
  5023.     for ( ; ; )
  5024.         {
  5025.         (void)signal( SIGABRT, sigfunc );
  5026.                     /* SIG_DFL or function */
  5027.         (void)raise( SIGABRT );    /* wham? */
  5028.  
  5029.         /* The program caught SIGABRT and the handler returned. */
  5030.  
  5031.         sigfunc = SIG_DFL;    /* force bam! */
  5032.         }
  5033.     }
  5034.  
  5035.  
  5036. Volume-Number: Volume 31, Number 54
  5037.  
  5038. From std-unix-request@uunet.UU.NET  Fri May  7 13:40:35 1993
  5039. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5040.     (5.61/UUNET-mail-drop) id AA25605; Fri, 7 May 93 13:40:35 -0400
  5041. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5042.     (5.61/UUNET-internet-primary) id AA07840; Fri, 7 May 93 13:40:34 -0400
  5043. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5044.     id AA16059; Fri, 7 May 93 10:40:32 PDT
  5045. From: gwyn@smoke.brl.mil (Doug Gwyn)
  5046. Newsgroups: comp.std.unix
  5047. Subject: oops (was: Confusing abort() semantics)
  5048. Organization: U.S. Army Ballistic Research Lab (BRL), APG, MD.
  5049. Sender: sef@ftp.uu.net
  5050. Message-Id: <1se6cmINNjgk@ftp.UU.NET>
  5051. Nntp-Posting-Host: ftp.uu.net
  5052. Keywords: abort
  5053. X-Submissions: std-unix@uunet.uu.net
  5054. Date: 7 May 1993 10:31:02 -0700
  5055. Reply-To: std-unix@uunet.uu.net
  5056. To: std-unix@uunet.UU.NET
  5057.  
  5058. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  5059.  
  5060. There was a typo in the PD abort() implementation I posted in this thread:
  5061.  
  5062. $ diff abort.c.typo abort.c.fixed
  5063. 6c6
  5064. <     last edit:    13-Dec-1992    Gwyn@ARL.Army.Mil
  5065. ---
  5066. >     last edit:    07-May-1993    Gwyn@ARL.Army.Mil
  5067. 73c73
  5068. <         sigfunc == SIG_DFL;
  5069. ---
  5070. >         sigfunc = SIG_DFL;    /* bug fix courtesy rlh@world.std.com */
  5071.  
  5072. Sorry about that..
  5073.  
  5074.  
  5075. Volume-Number: Volume 31, Number 57
  5076.  
  5077. From std-unix-request@uunet.UU.NET  Mon May 10 19:47:58 1993
  5078. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5079.     (5.61/UUNET-mail-drop) id AA25319; Mon, 10 May 93 19:47:58 -0400
  5080. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5081.     (5.61/UUNET-internet-primary) id AA16327; Mon, 10 May 93 19:47:52 -0400
  5082. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5083.     id AA25323; Mon, 10 May 93 16:47:32 PDT
  5084. From: gwyn@smoke.brl.mil (Doug Gwyn)
  5085. Newsgroups: comp.std.unix
  5086. Subject: Re: Confusing abort() semantics
  5087. Organization: U.S. Army Ballistic Research Lab (BRL), APG, MD.
  5088. Sender: sef@rodan.uu.net
  5089. Message-Id: <1smom1INNoa5@rodan.UU.NET>
  5090. References: <1s8s8bINNl4h@ftp.UU.NET>
  5091. Nntp-Posting-Host: rodan.uu.net
  5092. X-Submissions: std-unix@uunet.uu.net
  5093. Date: 10 May 1993 16:32:17 -0700
  5094. Reply-To: std-unix@uunet.uu.net
  5095. To: std-unix@uunet.UU.NET
  5096.  
  5097. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  5098.  
  5099. In further off-line discussion with Mike Wulkan, another bug in my
  5100. abort() implementation turned up.  It is necessary to TEST whether
  5101. or not SIGABRT is blocked before unblocking it, and if it had been
  5102. blocked upon entry to abort() then sigfunc needs to be replaced by
  5103. SIG_DFL.  (In other words, a signal handler function should NOT be
  5104. invoked when SIGABRT was blocked.)  Since I don't have the POSIX.1
  5105. specs at hand at the moment, I'm not providing a code patch, but
  5106. from the description here you should be able to fix it yourself.
  5107. Or, contact me later once I have had a chance to look up the right
  5108. function calls.
  5109.  
  5110. Another note:  Although I'm not sure Mike is convinced yet, I
  5111. maintain that raise() is specified in the C standard as acting
  5112. synchronously, which pretty well moots the issue he raised.  If
  5113. the POSIX requirement on its implementation as kill(getpid(),)
  5114. leads to problems, then raise() needs to tap into the process
  5115. signal vector and directly call the handler function, which meets
  5116. the spirit of the POSIX specification and the literal reading of
  5117. the C standard's specification.
  5118.  
  5119. Why are the POSIX people not coordinating with the C standard
  5120. committee(s) when they come up with this stuff?
  5121.  
  5122. Volume-Number: Volume 31, Number 59
  5123.  
  5124. From std-unix-request@uunet.UU.NET  Mon May 10 19:48:15 1993
  5125. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5126.     (5.61/UUNET-mail-drop) id AA25326; Mon, 10 May 93 19:48:15 -0400
  5127. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5128.     (5.61/UUNET-internet-primary) id AA16350; Mon, 10 May 93 19:47:58 -0400
  5129. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5130.     id AA25307; Mon, 10 May 93 16:47:12 PDT
  5131. From: mnielsen@stdsmail.ieee.org ("M.Nielsen")
  5132. Newsgroups: comp.std.unix
  5133. Subject: POSIX Open Order Plan
  5134. Organization: Kithrup Enterprises, Ltd.
  5135. Sender: sef@rodan.uu.net
  5136. Message-Id: <1smoi9INNo63@rodan.UU.NET>
  5137. Nntp-Posting-Host: rodan.uu.net
  5138. X-Submissions: std-unix@uunet.uu.net
  5139. Date: 10 May 1993 16:30:17 -0700
  5140. Reply-To: std-unix@uunet.uu.net
  5141. To: std-unix@uunet.UU.NET
  5142.  
  5143. Submitted-by: mnielsen@stdsmail.ieee.org ("M.Nielsen")
  5144.  
  5145. IEEE's POSIX Standards Update Service
  5146. Convenience o Reliability o Savings
  5147. The reliable way to get the most current POSIX standards as soon 
  5148. they're published
  5149.  
  5150.  
  5151. New POSIX Standards on the Way
  5152.  
  5153. Several new POSIX standards are slated for future publication. Many 
  5154. cover specific programming language bindings, while others detail 
  5155. test methods for measuring conformance to POSIX to standardize 
  5156. other aspects and practices relating to POSIX. And a host of new 
  5157. POSIX standards projects are currently in development.
  5158.  
  5159. You know that implementing the most current, approved IEEE 
  5160. POSIX standards is intelligent. But many times, it's difficult for you 
  5161. or your organization to know exactly when a new POSIX standard is 
  5162. available. Or more importantly, how to obtain a copy fast and at a 
  5163. reasonable price.
  5164.  
  5165. To provide you with the most up-to-date, cost-effective POSIX 
  5166. standards, IEEE offers a unique service - IEEE's POSIX 
  5167. Standards Update Service. All you do is complete the order form 
  5168. or call the number listed below to enroll in the service - we do the 
  5169. rest!
  5170.  
  5171.  
  5172. How It Works
  5173.  
  5174. Enroll today and you'll automatically receive one copy of each newly 
  5175. approved IEEE POSIX standard as soon as it's published, giving you 
  5176. a jump on your competition, with no hassle.
  5177.  
  5178. What's more, you receive your IEEE POSIX standards at a 
  5179. GUARANTEED 40% DISCOUNT, invoiced with your shipment. 
  5180. This is an enormous savings that you just won't find anywhere else!
  5181.  
  5182. Enjoy the ease and reliability of receiving the newest POSIX 
  5183. standards as soon as they become available.
  5184.  
  5185.  
  5186. To Sign Up . . .
  5187.  
  5188. Call Renee Owens at (908) 981-5432. Or, if you prefer, simply 
  5189. return the attached order form with a copy of your purchase order, 
  5190. stating your intention to enroll in the service. (A purchase order is 
  5191. required merely to verify enrollment in the program; no dollar 
  5192. commitment is needed.)
  5193.  
  5194.  
  5195. ORDER FORM
  5196.  
  5197. POSIX Standards Update Service Enrollment
  5198.  
  5199. o Yes, please enroll me in IEEE's POSIX Standards Update Service 
  5200. (OOP 10). I understand that I'll receive one copy of each published 
  5201. POSIX standard at a 40% off list price, billed with my shipment, and 
  5202. that I can cancel my subscription at any time. My purchase order 
  5203. verifying my enrollment is attached, #___________________.
  5204.  
  5205. Name
  5206. IEEE Member Number
  5207. Company
  5208. Street
  5209. City    State/Prov.    Zip/Postal Code
  5210. Country
  5211. Signature
  5212.  
  5213. If you prefer, sign up by calling IEEE Customer Service at (908) 
  5214. 562-5432 between 8:00 am and 4:30 pm (EST). Or FAX (908) 562-9667 
  5215. 24 hours daily.
  5216.  
  5217. Return enrollment form to:    IEEE Customer Service
  5218.                 Attn: Renee Owens
  5219.                 445 Hoes Lane, PO Box 1331
  5220.                 Piscataway, NJ 08855-1331 USA
  5221.  
  5222.  
  5223. May 1993
  5224.  
  5225.  
  5226. The Institute of Electrical and Electronics Engineers, Inc.
  5227. IEEE Standards
  5228. 445 Hoes Lane, PO Box 1331
  5229. Piscataway, NJ 08855-1331 USA
  5230.  
  5231.  
  5232. Volume-Number: Volume 31, Number 58
  5233.  
  5234. From std-unix-request@uunet.UU.NET  Wed May 12 05:32:37 1993
  5235. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5236.     (5.61/UUNET-mail-drop) id AA09689; Wed, 12 May 93 05:32:37 -0400
  5237. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5238.     (5.61/UUNET-internet-primary) id AA21163; Wed, 12 May 93 01:16:00 -0400
  5239. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5240.     id AA09524; Tue, 11 May 93 22:15:59 PDT
  5241. From: gwyn@smoke.brl.mil (Doug Gwyn)
  5242. Newsgroups: comp.std.unix
  5243. Subject: Re: oops (was: Confusing abort() semantics)
  5244. Organization: U.S. Army Ballistic Research Lab (BRL), APG, MD.
  5245. Sender: sef@rodan.uu.net
  5246. Message-Id: <1sq0hmINN91r@rodan.UU.NET>
  5247. References: <1se6cmINNjgk@ftp.UU.NET>
  5248. Nntp-Posting-Host: rodan.uu.net
  5249. Keywords: abort
  5250. X-Submissions: std-unix@uunet.uu.net
  5251. Date: 11 May 1993 22:04:54 -0700
  5252. Reply-To: std-unix@uunet.uu.net
  5253. To: std-unix@uunet.UU.NET
  5254.  
  5255. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  5256.  
  5257. Ok, here is the latest improvement to the abort() implementation I posted
  5258. earlier in this thread:
  5259.  
  5260. 6c6
  5261. <     last edit:    07-May-1993    Gwyn@ARL.Army.Mil
  5262. ---
  5263. >     last edit:    11-May-1993    Gwyn@ARL.Army.Mil
  5264. 64c64
  5265. <     sigset_t        abort_mask;
  5266. ---
  5267. >     sigset_t        abort_mask, old_mask;
  5268. 68c68
  5269. <     (void)sigprocmask( SIG_UNBLOCK, &abort_mask, (sigset_t *)0 );
  5270. ---
  5271. >     (void)sigprocmask( SIG_UNBLOCK, &abort_mask, &old_mask );
  5272. 70d69
  5273. < #endif
  5274. 71a71,74
  5275. >     if ( sigismember( &old_mask, SIGABRT ) )
  5276. >         sigfunc = SIG_DFL;    /* thanks to wulkan@vnet.ibm.com */
  5277. >     else
  5278. > #endif
  5279.  
  5280.  
  5281. Volume-Number: Volume 31, Number 60
  5282.  
  5283. From std-unix-request@uunet.UU.NET  Thu May 13 13:33:03 1993
  5284. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5285.     (5.61/UUNET-mail-drop) id AA26334; Thu, 13 May 93 13:33:03 -0400
  5286. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5287.     (5.61/UUNET-internet-primary) id AA25379; Thu, 13 May 93 13:32:58 -0400
  5288. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5289.     id AA10256; Thu, 13 May 93 10:32:54 PDT
  5290. From: peter@nmti.com (peter da silva)
  5291. Newsgroups: comp.std.unix
  5292. Subject: POSIX 1003.4 questions
  5293. Organization: Network/development platform support, NMTI
  5294. Sender: sef@rodan.uu.net
  5295. Message-Id: <1stvpmINNofe@rodan.UU.NET>
  5296. Nntp-Posting-Host: rodan.uu.net
  5297. X-Submissions: std-unix@uunet.uu.net
  5298. Date: 13 May 1993 10:16:38 -0700
  5299. Reply-To: std-unix@uunet.uu.net
  5300. To: std-unix@uunet.UU.NET
  5301.  
  5302. Submitted-by: peter@nmti.com (peter da silva)
  5303.  
  5304. What is the requirement for the three-argument version of the signal
  5305. catching function? I'm not making the assertion that a more complete
  5306. AST mechanism would not be useful, but I don't see how this particular
  5307. extension provides any useful enhancements. Identification of the cause
  5308. of a signal can be provided simply by specifying different signals for
  5309. different purposes. Since these enhancements are supposed to be a
  5310. *minimal* set of changes, simply specifying a second parameter for an
  5311. attached value would have been much cleaner.
  5312. -- 
  5313. Peter da Silva                                            `-_-'
  5314. Network Management Technology Incorporated                 'U` 
  5315. 12808 West Airport Blvd.  Sugar Land, TX  77478  USA
  5316. +1 713 274 5180                            "Na sema Jambo mbwa kali yake leo?"
  5317.  
  5318.  
  5319. Volume-Number: Volume 31, Number 61
  5320.  
  5321. From std-unix-request@uunet.UU.NET  Thu May 13 21:50:10 1993
  5322. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5323.     (5.61/UUNET-mail-drop) id AA13697; Thu, 13 May 93 21:50:10 -0400
  5324. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5325.     (5.61/UUNET-internet-primary) id AA18319; Thu, 13 May 93 21:50:07 -0400
  5326. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5327.     id AA22220; Thu, 13 May 93 18:50:05 PDT
  5328. From: bitbug@netcom.com (James Buster)
  5329. Newsgroups: comp.std.unix
  5330. Subject: Re: POSIX 1003.4 questions
  5331. Organization: Lynx Real-Time Systems, Inc.
  5332. Sender: sef@rodan.uu.net
  5333. Message-Id: <1suta6INNd65@rodan.UU.NET>
  5334. References: <1stvpmINNofe@rodan.UU.NET>
  5335. Nntp-Posting-Host: rodan.uu.net
  5336. X-Submissions: std-unix@uunet.uu.net
  5337. Date: 13 May 1993 18:40:22 -0700
  5338. Reply-To: std-unix@uunet.uu.net
  5339. To: std-unix@uunet.UU.NET
  5340.  
  5341. Submitted-by: bitbug@netcom.com (James Buster)
  5342.  
  5343. In article <1stvpmINNofe@rodan.UU.NET> peter@nmti.com (peter da silva) writes:
  5344. >What is the requirement for the three-argument version of the signal
  5345. >catching function? I'm not making the assertion that a more complete
  5346. >AST mechanism would not be useful, but I don't see how this particular
  5347. >extension provides any useful enhancements. Identification of the cause
  5348. >of a signal can be provided simply by specifying different signals for
  5349. >different purposes. Since these enhancements are supposed to be a
  5350. >*minimal* set of changes, simply specifying a second parameter for an
  5351. >attached value would have been much cleaner.
  5352.  
  5353. More importantly, the N argument signal handler (where N > 1) and
  5354. event handlers from 1003.4 destroy any hope of strict ANSI C
  5355. compatibility. It annoys me that the 1003.4 committee would
  5356. choose interfaces that require implementation-defined behavior
  5357. from the compiler/OS and therefore cannot be truly portable.
  5358. Actually, while I'm talking about implementation defined behavior,
  5359. what about the 1003.4a functional interface for threads and the 1003.4
  5360. events interface? They require that you be able to use a `void *' as data.
  5361. One of the committee members told me that you are giving the caller a
  5362. "pointers worth of data". In C, pointers do not, and never have,
  5363. contained data. This strikes me as being totally bogus.
  5364. -- 
  5365.                 James Buster
  5366.                  bitbug@netcom.com
  5367.  
  5368. Volume-Number: Volume 31, Number 63
  5369.  
  5370. From std-unix-request@uunet.UU.NET  Thu May 13 21:50:15 1993
  5371. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5372.     (5.61/UUNET-mail-drop) id AA13706; Thu, 13 May 93 21:50:15 -0400
  5373. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5374.     (5.61/UUNET-internet-primary) id AA18300; Thu, 13 May 93 21:50:06 -0400
  5375. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5376.     id AA22200; Thu, 13 May 93 18:50:00 PDT
  5377. From: peter@nmti.com (peter da silva)
  5378. Newsgroups: comp.std.unix
  5379. Subject: POSIX 1003.4 conflict?
  5380. Organization: Network Management Technology, Incorporated
  5381. Sender: sef@rodan.uu.net
  5382. Message-Id: <1sut8kINNd3m@rodan.UU.NET>
  5383. Nntp-Posting-Host: rodan.uu.net
  5384. X-Submissions: std-unix@uunet.uu.net
  5385. Date: 13 May 1993 18:39:32 -0700
  5386. Reply-To: std-unix@uunet.uu.net
  5387. To: std-unix@uunet.UU.NET
  5388.  
  5389. Submitted-by: peter@nmti.com (peter da silva)
  5390.  
  5391. What is the relationship between O_APPEND and aio_reqprio on an asynchronous
  5392. I/O call? The standard specifies on lines 390 and following that "if O_APPEND
  5393. is set... write operations append to the file *in the same order as the calls
  5394. were made*." (emphasis mine). On lines 396 and following, it says that I/O is
  5395. queued in priority order, and "the aio_reqprio member can be used to lower
  5396. (but not raise) the asynchronous I/O operation priority.
  5397.  
  5398. Suppose you have a file open for O_APPEND. You issue a write with aio_reqprio
  5399. having a positive value, then issue a write with aio_reqprio set to zero.
  5400.  
  5401. Lines 396 and following imply the second I/O may occur before the first,
  5402. despite O_APPEND being set.
  5403.  
  5404. -- 
  5405. Peter da Silva                                            `-_-'
  5406. Network Management Technology Incorporated                 'U` 
  5407. 12808 West Airport Blvd.  Sugar Land, TX  77478  USA
  5408. +1 713 274 5180                            "Na sema Jambo mbwa kali yake leo?"
  5409.  
  5410.  
  5411. Volume-Number: Volume 31, Number 62
  5412.  
  5413. From std-unix-request@uunet.UU.NET  Sun May 16 17:35:33 1993
  5414. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5415.     (5.61/UUNET-mail-drop) id AA07019; Sun, 16 May 93 17:35:33 -0400
  5416. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5417.     (5.61/UUNET-internet-primary) id AA02121; Sun, 16 May 93 17:35:33 -0400
  5418. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5419.     id AA20122; Sun, 16 May 93 14:35:32 PDT
  5420. From: willcox@urbana.mcd.mot.com (David A Willcox)
  5421. Newsgroups: comp.std.unix
  5422. Subject: Re: POSIX 1003.4 questions
  5423. Organization: Motorola Computer Group, Urbana Design Center
  5424. Sender: sef@rodan.uu.net
  5425. Message-Id: <1t64enINN1jk@rodan.UU.NET>
  5426. References: <1stvpmINNofe@rodan.UU.NET> <1suta6INNd65@rodan.UU.NET>
  5427. Nntp-Posting-Host: rodan.uu.net
  5428. X-Submissions: std-unix@uunet.uu.net
  5429. Date: 16 May 1993 12:25:11 -0700
  5430. Reply-To: std-unix@uunet.uu.net
  5431. To: std-unix@uunet.UU.NET
  5432.  
  5433. Submitted-by: willcox@urbana.mcd.mot.com (David A Willcox)
  5434.  
  5435. bitbug@netcom.com (James Buster) writes:
  5436.  
  5437. >More importantly, the N argument signal handler (where N > 1) and
  5438. >event handlers from 1003.4 destroy any hope of strict ANSI C
  5439. >compatibility. It annoys me that the 1003.4 committee would
  5440. >choose interfaces that require implementation-defined behavior
  5441. >from the compiler/OS and therefore cannot be truly portable.
  5442.  
  5443. Read the standard.  There is no conflict with either POSIX.1 or ANSI
  5444. C.  The 3-argument signal handler is not used with the ANSI signal()
  5445. function; a signal handler established with signal() still gets only
  5446. one argument.  You get three arguments only if you establish the
  5447. handler using sigaction(), you set the SA_SIGINFO flag is sa_flags,
  5448. and you use a field other than sa_handler in the sigaction struct.
  5449. (My copy of the last draft isn't handy right now, and I don't remember
  5450. the name of the new field.)  The new field has the appropriate
  5451. definition for a 3-arg function.
  5452.  
  5453. There is no requirement for "implementation-defined" behavior to make
  5454. this work.  It can be done portably.
  5455.  
  5456. David A. Willcox        "Just say 'NO' to universal drug testing"
  5457. Motorola MCG - Urbana        UUCP: ...!uiucuxc!udc!willcox
  5458. 1101 E. University Ave.        INET: willcox@urbana.mcd.mot.com
  5459. Urbana, IL 61801        FONE: 217-384-8534
  5460.  
  5461. Volume-Number: Volume 31, Number 64
  5462.  
  5463. From std-unix-request@uunet.UU.NET  Sun May 16 17:35:36 1993
  5464. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5465.     (5.61/UUNET-mail-drop) id AA07024; Sun, 16 May 93 17:35:36 -0400
  5466. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5467.     (5.61/UUNET-internet-primary) id AB02127; Sun, 16 May 93 17:35:35 -0400
  5468. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5469.     id AA20128; Sun, 16 May 93 14:35:34 PDT
  5470. From: gwyn@smoke.brl.mil (Doug Gwyn)
  5471. Newsgroups: comp.std.unix
  5472. Subject: Re: POSIX 1003.4 questions
  5473. Organization: U.S. Army Ballistic Research Lab, APG MD.
  5474. Sender: sef@rodan.uu.net
  5475. Message-Id: <1t64gjINN1ld@rodan.UU.NET>
  5476. References: <1stvpmINNofe@rodan.UU.NET> <1suta6INNd65@rodan.UU.NET>
  5477. Nntp-Posting-Host: rodan.uu.net
  5478. X-Submissions: std-unix@uunet.uu.net
  5479. Date: 16 May 1993 12:26:11 -0700
  5480. Reply-To: std-unix@uunet.uu.net
  5481. To: std-unix@uunet.UU.NET
  5482.  
  5483. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  5484.  
  5485. In article <1suta6INNd65@rodan.UU.NET> bitbug@netcom.com (James Buster) writes:
  5486. >More importantly, the N argument signal handler (where N > 1) and
  5487. >event handlers from 1003.4 destroy any hope of strict ANSI C
  5488. >compatibility.
  5489.  
  5490. The real problem is that extra arguments for the same class of functions
  5491. that signal() is expected to register for later invocation cannot be
  5492. supported on all possible platforms.  This kind of problem is why we
  5493. have special <stdarg.h> implementation-provided support for variable-
  5494. argument functions, and why X3J11 had to choose between variadic
  5495. signal handler function type and one-int argument signal handler
  5496. function type (the latter is what was chosen).  I think people have
  5497. gotten too used to sloppy programming on systems that let one get
  5498. away with it, so that they don't understand why this is a real issue.
  5499.  
  5500. >Actually, while I'm talking about implementation defined behavior,
  5501. >what about the 1003.4a functional interface for threads and the 1003.4
  5502. >events interface? They require that you be able to use a `void *' as data.
  5503. >One of the committee members told me that you are giving the caller a
  5504. >"pointers worth of data". In C, pointers do not, and never have,
  5505. >contained data. This strikes me as being totally bogus.
  5506.  
  5507. Actually the C standard requires that there be some integral type
  5508. capable of holding a (converted) object pointer such that it can
  5509. be converted back to a pointer (of the same type) and compare
  5510. equal to the original pointer value.  However, this does differ
  5511. from being able to stash an arbitrary integral value into a
  5512. pointer.  If one really needs to do that sort of thing, either the
  5513. pointer should be taken as pointing to the actual data or else a
  5514. union should be used.
  5515.  
  5516.  
  5517. Volume-Number: Volume 31, Number 65
  5518.  
  5519. From std-unix-request@uunet.UU.NET  Sun May 16 17:35:40 1993
  5520. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5521.     (5.61/UUNET-mail-drop) id AA07037; Sun, 16 May 93 17:35:40 -0400
  5522. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5523.     (5.61/UUNET-internet-primary) id AA02152; Sun, 16 May 93 17:35:38 -0400
  5524. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5525.     id AA20134; Sun, 16 May 93 14:35:36 PDT
  5526. Xref: majipoor.cygnus.com comp.std.unix:26 comp.std.internat:30 comp.std.misc:15
  5527. From: "M.Nielsen" <mnielsen@stdsmail.ieee.org>
  5528. Newsgroups: comp.std.unix,comp.std.internat,comp.std.misc
  5529. Subject: Correction
  5530. Followup-To: comp.std.misc
  5531. Organization: Kithrup Enterprises, Ltd.
  5532. Sender: sef@rodan.uu.net
  5533. Message-Id: <1t64puINN1s6@rodan.UU.NET>
  5534. Nntp-Posting-Host: rodan.uu.net
  5535. X-Submissions: std-unix@uunet.uu.net
  5536. Date: 16 May 1993 12:31:10 -0700
  5537. Reply-To: std-unix@uunet.uu.net
  5538. To: std-unix@uunet.UU.NET
  5539.  
  5540. Submitted-by: jsh@canary.com (Jeffrey S. Haemer)
  5541.  
  5542. [ Posted again in entirety due to the crosspost.  Please note
  5543.   followup's -- mod ]
  5544.  
  5545. Seems that there was an error in the phone number on the 
  5546. POSIX Open Order Plan release, which was not caught until
  5547. now.
  5548.  
  5549. ***** Forwarded message *****
  5550.  
  5551. Due to a phone number error, we are sending the IEEE POSIX 
  5552. Standards Update Service announcement to you again. Please note 
  5553. that Renee Owen's phone number at IEEE Customer Service is 
  5554. 908-562-5432. We apologize for any inconvenience this may 
  5555. have caused you.
  5556.  
  5557.  
  5558. IEEE's POSIX Standards Update Service
  5559. Convenience o Reliability o Savings
  5560. The reliable way to get the most current POSIX standards as soon 
  5561. they're published
  5562.  
  5563.  
  5564. New POSIX Standards on the Way
  5565.  
  5566. Several new POSIX standards are slated for future publication. Many 
  5567. cover specific programming language bindings, while others detail 
  5568. test methods for measuring conformance to POSIX to standardize 
  5569. other aspects and practices relating to POSIX. And a host of new 
  5570. POSIX standards projects are currently in development.
  5571.  
  5572. You know that implementing the most current, approved IEEE 
  5573. POSIX standards is intelligent. But many times, it's difficult for you 
  5574. or your organization to know exactly when a new POSIX standard is 
  5575. available. Or more importantly, how to obtain a copy fast and at a 
  5576. reasonable price.
  5577.  
  5578. To provide you with the most up-to-date, cost-effective POSIX 
  5579. standards, IEEE offers a unique service - IEEE's POSIX 
  5580. Standards Update Service. All you do is complete the order form 
  5581. or call the number listed below to enroll in the service - we do the 
  5582. rest!
  5583.  
  5584.  
  5585. How It Works
  5586.  
  5587. Enroll today and you'll automatically receive one copy of each newly 
  5588. approved IEEE POSIX standard as soon as it's published, giving you 
  5589. a jump on your competition, with no hassle.
  5590.  
  5591. What's more, you receive your IEEE POSIX standards at a 
  5592. GUARANTEED 40% DISCOUNT, invoiced with your shipment. 
  5593. This is an enormous savings that you just won't find anywhere else!
  5594.  
  5595. Enjoy the ease and reliability of receiving the newest POSIX 
  5596. standards as soon as they become available.
  5597.  
  5598.  
  5599. To Sign Up . . .
  5600.  
  5601. Call Renee Owens at (908) 562-5432. Or, if you prefer, simply 
  5602. return the attached order form with a copy of your purchase order, 
  5603. stating your intention to enroll in the service. (A purchase order is 
  5604. required merely to verify enrollment in the program; no dollar 
  5605. commitment is needed.)
  5606.  
  5607.  
  5608. ORDER FORM
  5609.  
  5610. POSIX Standards Update Service Enrollment
  5611.  
  5612. o Yes, please enroll me in IEEE's POSIX Standards Update Service 
  5613. (OOP 10). I understand that I'll receive one copy of each published 
  5614. POSIX standard at a 40% off list price, billed with my shipment, and 
  5615. that I can cancel my subscription at any time. My purchase order 
  5616. verifying my enrollment is attached, #___________________.
  5617.  
  5618. Name
  5619. IEEE Member Number
  5620. Company
  5621. Street
  5622. City    State/Prov.    Zip/Postal Code
  5623. Country
  5624. Signature
  5625.  
  5626. If you prefer, sign up by calling IEEE Customer Service at (908) 
  5627. 562-5432 between 8:00 am and 4:30 pm (EST). Or FAX (908) 562-9667 
  5628. 24 hours daily.
  5629.  
  5630. Return enrollment form to:    IEEE Customer Service
  5631.                 Attn: Renee Owens
  5632.                 445 Hoes Lane, PO Box 1331
  5633.                 Piscataway, NJ 08855-1331 USA
  5634.  
  5635.  
  5636. May 1993
  5637.  
  5638.  
  5639. The Institute of Electrical and Electronics Engineers, Inc.
  5640. IEEE Standards
  5641. 445 Hoes Lane, PO Box 1331
  5642. Piscataway, NJ 08855-1331 USA
  5643.  
  5644.  
  5645. Volume-Number: Volume 31, Number 58
  5646.  
  5647.  
  5648.  
  5649.  
  5650.  
  5651.  
  5652. Volume-Number: Volume 31, Number 66
  5653.  
  5654. From std-unix-request@uunet.UU.NET  Sun May 16 17:35:41 1993
  5655. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5656.     (5.61/UUNET-mail-drop) id AA07042; Sun, 16 May 93 17:35:41 -0400
  5657. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5658.     (5.61/UUNET-internet-primary) id AB02165; Sun, 16 May 93 17:35:40 -0400
  5659. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5660.     id AA20140; Sun, 16 May 93 14:35:39 PDT
  5661. From: peter@nmti.com (peter da silva)
  5662. Newsgroups: comp.std.unix
  5663. Subject: P1003.4a, pthread_key_create, typo?
  5664. Organization: Network/development platform support, NMTI
  5665. Sender: sef@rodan.uu.net
  5666. Message-Id: <1t64t0INN1u6@rodan.UU.NET>
  5667. Nntp-Posting-Host: rodan.uu.net
  5668. X-Submissions: std-unix@uunet.uu.net
  5669. Date: 16 May 1993 12:32:48 -0700
  5670. Reply-To: std-unix@uunet.uu.net
  5671. To: std-unix@uunet.UU.NET
  5672.  
  5673. Submitted-by: peter@nmti.com (peter da silva)
  5674.  
  5675. Draft 6, page 73, line 67, in the rationale.
  5676.  
  5677. Shouldn't that be
  5678.  
  5679.     #define pthread_key_create(key) (0)
  5680.  
  5681. since it returns a value, and in the context of a C extension for a private
  5682. data type it should always return 0?
  5683. -- 
  5684. Peter da Silva                                            `-_-'
  5685. Network Management Technology Incorporated                 'U` 
  5686. 12808 West Airport Blvd.  Sugar Land, TX  77478  USA
  5687. +1 713 274 5180                            "Na sema Jambo mbwa kali yake leo?"
  5688.  
  5689.  
  5690. Volume-Number: Volume 31, Number 67
  5691.  
  5692. From std-unix-request@uunet.UU.NET  Thu May 20 14:32:18 1993
  5693. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5694.     (5.61/UUNET-mail-drop) id AA08960; Thu, 20 May 93 14:32:18 -0400
  5695. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5696.     (5.61/UUNET-internet-primary) id AA01784; Thu, 20 May 93 14:32:13 -0400
  5697. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5698.     id AA21532; Thu, 20 May 93 11:32:09 PDT
  5699. From: baker@omicron.cs.fsu.edu (Ted Baker)
  5700. Newsgroups: comp.std.unix
  5701. Subject: POSIX Real-Time Ada bindings ballot
  5702. Organization: Florida State University Computer Science Department
  5703. Sender: sef@rodan.uu.net
  5704. Message-Id: <1tgfauINNt64@rodan.UU.NET>
  5705. Nntp-Posting-Host: rodan.uu.net
  5706. Summary: Request for ballot group participants, for POSIX 1003.20 standard
  5707. Keywords: Ada, POSIX, real-time, standards, UNIX, ballot
  5708. X-Submissions: std-unix@uunet.uu.net
  5709. Date: 20 May 1993 10:32:14 -0700
  5710. Reply-To: std-unix@uunet.uu.net
  5711. To: std-unix@uunet.UU.NET
  5712.  
  5713. Submitted-by: baker@omicron.cs.fsu.edu (Ted Baker)
  5714.  
  5715. (Please feel free to repost this information to appropriate electronic
  5716.  forums.)
  5717.  
  5718.  
  5719. Please find attached the invitation to join the Ada Bindings to the POSIX
  5720. Real Time Interfaces balloting group.  There is a $50 (US) fee to join
  5721. the balloting group.  Please contact Annamarie Kaczmarek concerning
  5722. methods of payment.  To join the balloting group, return the
  5723. information requested by this form to the IEEE.  Do not respond to me,
  5724. as only the IEEE Standards Office can add you to the ballot group.
  5725.  
  5726. Only IEEE or IEEE Computer Society members are eligible to vote on the
  5727. standard.  Non-members may participate as a party of interest and
  5728. your comments will be given the same consideration as a voting member.
  5729.  
  5730. Joining the ballot group is a commitment to respond to the ballot.  Please
  5731. do not join the ballot group unless you intend to respond.  If you wish to
  5732. obtain a copy of the draft standard without balloting on the standard, you
  5733. may order the copies from the IEEE.
  5734.  
  5735. Jim Lonjers
  5736. Chair, P1003.20 (IEEE Working Group 1003.5)
  5737.  
  5738. ---------------------------------------------------------------------------
  5739. Portable Application Standards Committee
  5740. of the IEEE Computer Society Invites You to Ballot On
  5741.  
  5742. P1003.20 Standard for Information Technology - - POSIX Ada Language Interfaces
  5743. -- Part 1:  Binding for Realtime Extensions
  5744.  
  5745. RETURN DEADLINE:        7 JUNE  1993
  5746.  
  5747.  
  5748. SCOPE:          To provide an Ada language binding to the realtime POSIX
  5749.                 standards.
  5750.  
  5751. PURPOSE:        To provide capabilities so that a realtime application program,
  5752.                 written in the Ada programming language:
  5753.                 a)  Can emply POSIX realtime extensions, and,
  5754.                 b)  Can operate identically on all conforming
  5755.                     POSIX/Ada/Realtime environments
  5756.  
  5757.  
  5758. Your Category of Interest in this Standards Ballot:
  5759.  
  5760.         User            Producer        Academic        General Interest
  5761.  
  5762. (Please choose only ONE of the above.  If you have any combination of
  5763. Interests, check the General Interest Category)
  5764.  
  5765. Name:                                                   Phone:
  5766. Company
  5767. Mailing Address
  5768. FAX:                                                    EMail:
  5769.  
  5770. IEEE or Computer Society Membership Number*:
  5771. Check here if NOT a member of IEEE or the Computer Society
  5772. [One of the two above lines must be filled out]
  5773.  
  5774. *Only IEEE or Computer Society members are eligible to ballot on IEEE proposed
  5775. Standards; non-members can participate as Non-Voters
  5776.  
  5777. Signature:                                               Date
  5778.  
  5779. If you want positive confirmation back by mail that this form has been
  5780. received by the IEEE Standards Office, please enclose a stamped,
  5781. pre-addressed post card along with this form.
  5782.  
  5783. Please return to:               Annamarie Kaczmarek
  5784. by                              IEEE Standards Office
  5785. 7 JUNE 1993                     445 Hoes Lane, P.O. Box 1331
  5786.                                 Piscataway, NJ  08855-1331
  5787.                                 FAX:  908/562-1571
  5788.  
  5789.  
  5790. DEPENDENT DOCUMENTS
  5791.  
  5792.  
  5793. Following is the list of dependent documents which would be useful for review
  5794. for the enclosed Invitation.
  5795.  
  5796. For P1003.20 Standard for Information Technology -- POSIX Ada Language
  5797. Interfaces -- Part 1:  Binding for Realtime Extensions
  5798.  
  5799. Dependent documents are:
  5800.  
  5801. 1)      P1003.4/D14- March 1993  Draft Standard for Information Technology -
  5802.         Portable Operating System Interface (POSIX) - Part 1:  System
  5803.         Application Program Interface (API) - Amendment 1:  Realtime
  5804.         extension [C Language] (available in June from IEEE)
  5805.  
  5806. 2)      1003.5-1992 IEEE Standard for Information Technology - POSIX Ada
  5807.         Language Interfaces - Part 1:  Binding for System Application
  5808.         Program Interface (API) [SH15254]
  5809.  
  5810. 3)      ANSI/MIL 1815A-1983, Reference Manual for the Ada Programming Language
  5811.  
  5812. Balloters may order the IEEE documents by calling toll free at (800) 678-IEEE
  5813. in US and Canada.  Outside US and Canada, call (908) 981-1398 or FAX (908)
  5814. 982-9667.
  5815.  
  5816. For ISO or ANSI standards, balloters may order from following addresses:
  5817.  
  5818.         Global Engineering Documents                    ANSI
  5819.         15 Inverness Way East                           11 West 42nd Street
  5820.         Englewood  CO  80112-5707                       New York, NY  10036
  5821.         303/792-2181                                    212/642-4900
  5822.         FAX:  303/792-2192                              FAX:  212/302-1286
  5823.  
  5824. ---------------------------------------------------------------------------
  5825.  
  5826.  
  5827.  
  5828.  
  5829. Volume-Number: Volume 31, Number 68
  5830.  
  5831. From std-unix-request@uunet.UU.NET  Tue May 25 15:33:14 1993
  5832. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5833.     (5.61/UUNET-mail-drop) id AA15347; Tue, 25 May 93 15:33:14 -0400
  5834. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5835.     (5.61/UUNET-internet-primary) id AA25132; Tue, 25 May 93 15:33:11 -0400
  5836. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5837.     id AA26738; Tue, 25 May 93 12:33:05 PDT
  5838. From: WANISH@KGNVMC.VNET.IBM.COM ("Paul J. Wanish ((914)385-0217)")
  5839. Newsgroups: comp.std.unix
  5840. Subject: POSIX.1 PAR for Splitting 9945-1
  5841. Organization: Kithrup Enterprises, Ltd.
  5842. Sender: sef@rodan.uu.net
  5843. Message-Id: <1ttr4kINNdc1@rodan.UU.NET>
  5844. Reply-To: wanish@kgnvmc.VNET.IBM.COM
  5845. Nntp-Posting-Host: rodan.uu.net
  5846. X-Submissions: std-unix@uunet.uu.net
  5847. Date: 25 May 1993 12:13:24 -0700
  5848. To: std-unix@uunet.UU.NET
  5849.  
  5850. Submitted-by: WANISH@KGNVMC.VNET.IBM.COM ("Paul J. Wanish ((914)385-0217)")
  5851.  
  5852. The POSIX.1 Working Group would like to submit a new PAR to split the existing
  5853. 9945-1 standard. This has come under a lot of attack over the last couple of
  5854. years. With this PAR, we hope to segregate the work and make a professional
  5855. attempt to satisfy the requirements of groups like the POSIX.4 working group
  5856. (while not making a farce of the existing standard). The attached PAR is our
  5857. attempt at describing the work. If you plan on participating in this effort
  5858. over the next year, please forward your name to me so we can include you on
  5859. appropriate meeting notices... Paul
  5860. ******* PROJECT AUTHORIZATION REQUEST (PAR) ********
  5861. * Does this PAR revise a previously approved PAR?:
  5862.        YES
  5863. * Description of Proposed Document:
  5864.        Full Use Standard, Revision of 1003.1
  5865. * Project Title:
  5866.  
  5867.  Information technology - Portable Operating System Interface (POSIX) -
  5868.  Part 1: System Application Program Interface (API)
  5869.   Language Independent / C Binding
  5870.  
  5871. * Scope of Proposed Standard (Revision)
  5872.  
  5873.  To revise 1003.1 subject to the following requirements and
  5874.  constraints:
  5875.  
  5876.  The features and associated requirements defined by 1003.1 shall be
  5877.  partitioned along natural boundaries into separate modules each of
  5878.  which shall be:
  5879.   1) specified independently aside from explicit dependencies,
  5880.      which shall be minimized to the extent possible
  5881.   2) functionally complete and separable aside from explicit
  5882.      dependencies, which shall be minimized to the extent possible
  5883.  A new type of implementation conformance, 'Conforming Subset POSIX.1
  5884.  Implementation', shall be defined such that an implementation that
  5885.  completely satisfies the requirements of a non-empty set of modules,
  5886.  closed under functional and specification dependency, shall be a
  5887.  Conforming Subset POSIX.1 Implementation.
  5888.  
  5889.  The requirements on a Conforming POSIX.1 Implementation shall not
  5890.  be changed.
  5891.  
  5892.  The division into modules shall be such that some set of modules
  5893.  shall be equivalent to each possible Conforming POSIX.1 Implementation;
  5894.  that is, the required part plus all combinations of current options.
  5895.  
  5896.  The mandatory and optional parts associated with Conforming POSIX.1
  5897.  Implementations shall be identified with the appropriate modules or
  5898.  sets of modules.
  5899.  
  5900.  New modules shall have compile and execution time announcement
  5901.  mechanisms analogous to those defined for existing options.
  5902.  
  5903.  All interfaces shall be supported by all Conforming Implementations,
  5904.  whether or not the associated functionality is supported.
  5905.  
  5906. * Purpose of Proposed Standard (Revision)
  5907.  
  5908.  To enable implementations and applications to claim conformance, and
  5909.  profiles to require conformance, to meaningful subsets of features
  5910.  and functionality defined by 1003.1, without changing the
  5911.  requirements on Conforming 1003.1 Implementations and Applications,
  5912.  and to require that all assertions of or references to such subset
  5913.  conformance be clearly distinguished from assertions of and
  5914.  references to full 1003.1 conformance.
  5915.  
  5916. * Sponsor
  5917.  
  5918.       Technical Committee: PASC
  5919.       Society: Computer Society
  5920.  
  5921. * Name of Group that will write the Standard:
  5922.  
  5923.       P1003.1 Working Group
  5924.  
  5925. 0. Target Completion Date:
  5926.  
  5927.       Q4 1994/Q1 1995
  5928.  
  5929. 1. Proposed Coordination:  Method of Coordination:
  5930.    SCC10                   Circulation of Drafts
  5931.    X3J11                   Circulation of Drafts
  5932.    SC22/WG15 TAG           Circulation of Drafts
  5933.  
  5934. 2. Are you aware of any patent, Copyright, or Trademark issues?
  5935.       No
  5936. 3. Are you aware of any standards or projects with similar scope?
  5937.       No
  5938.  
  5939.  
  5940. Volume-Number: Volume 31, Number 69
  5941.  
  5942. From std-unix-request@uunet.UU.NET  Wed May 26 02:06:04 1993
  5943. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5944.     (5.61/UUNET-mail-drop) id AA24487; Wed, 26 May 93 02:06:04 -0400
  5945. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5946.     (5.61/UUNET-internet-primary) id AA25627; Wed, 26 May 93 02:06:02 -0400
  5947. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5948.     id AA28839; Tue, 25 May 93 23:06:01 PDT
  5949. From: djb@silverton.berkeley.edu (D. J. Bernstein)
  5950. Newsgroups: comp.std.unix
  5951. Subject: Re: POSIX Open Order Plan
  5952. Organization: IR
  5953. Sender: sef@rodan.uu.net
  5954. Message-Id: <1tv097INNng8@rodan.UU.NET>
  5955. References: <1smoi9INNo63@rodan.UU.NET>
  5956. Nntp-Posting-Host: rodan.uu.net
  5957. X-Submissions: std-unix@uunet.uu.net
  5958. Date: 25 May 1993 22:47:19 -0700
  5959. Reply-To: std-unix@uunet.uu.net
  5960. To: std-unix@uunet.UU.NET
  5961.  
  5962. Submitted-by: djb@silverton.berkeley.edu (D. J. Bernstein)
  5963.  
  5964.   (as part of a (possibly illegal) ad for IEEE's POSIX publications)
  5965. > You know that implementing the most current, approved IEEE 
  5966. > POSIX standards is intelligent.
  5967.  
  5968. Hmmm. No, I wasn't aware of that.
  5969.  
  5970. How much money does IEEE get selling each new POSIX.n? How much money
  5971. does IEEE lose organizing the creation of each new POSIX.n?
  5972.  
  5973. Is the POSIX series a service to the community, or a cash cow for IEEE?
  5974. When a new POSIX.n is proposed, how much of a _disservice_ does it have
  5975. to be to the community before IEEE decides that it isn't worth doing?
  5976. Or is money the only criterion?
  5977.  
  5978. Just curious.
  5979.  
  5980. ---Dan
  5981.  
  5982.  
  5983. Volume-Number: Volume 31, Number 70
  5984.  
  5985. From std-unix-request@uunet.UU.NET  Sat May 29 02:29:41 1993
  5986. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  5987.     (5.61/UUNET-mail-drop) id AA28926; Sat, 29 May 93 02:29:41 -0400
  5988. Received: from cygnus.com by relay1.UU.NET with SMTP 
  5989.     (5.61/UUNET-internet-primary) id AA17863; Sat, 29 May 93 02:29:37 -0400
  5990. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  5991.     id AA09660; Fri, 28 May 93 23:29:37 PDT
  5992. From: gwyn@smoke.brl.mil (Doug Gwyn)
  5993. Newsgroups: comp.std.unix
  5994. Subject: Re: POSIX.1 PAR for Splitting 9945-1
  5995. Organization: U.S. Army Ballistic Research Lab, APG MD.
  5996. Sender: sef@rodan.uu.net
  5997. Message-Id: <1u6us7INNq15@rodan.UU.NET>
  5998. References: <1ttr4kINNdc1@rodan.UU.NET>
  5999. Nntp-Posting-Host: rodan.uu.net
  6000. X-Submissions: std-unix@uunet.uu.net
  6001. Date: 28 May 1993 23:12:23 -0700
  6002. Reply-To: std-unix@uunet.uu.net
  6003. To: std-unix@uunet.UU.NET
  6004.  
  6005. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  6006.  
  6007. In article <1ttr4kINNdc1@rodan.UU.NET> wanish@kgnvmc.VNET.IBM.COM writes:
  6008. > The requirements on a Conforming POSIX.1 Implementation shall not
  6009. > be changed.
  6010. > ...
  6011. >* Purpose of Proposed Standard (Revision)
  6012. > To enable implementations and applications to claim conformance, and
  6013. > profiles to require conformance, to meaningful subsets of features
  6014. > and functionality defined by 1003.1, without changing the
  6015. > requirements on Conforming 1003.1 Implementations and Applications, ...
  6016.  
  6017. The primary goal of POSIX.1 was to provide a portable platform that
  6018. significant applications programming in a UNIX environment could rely on.
  6019. When we considered "subsetting", it was fairly obvious that it ran counter
  6020. to this overriding goal.
  6021.  
  6022. Another serious drawback to this proposal is that it envisions keeping
  6023. all the weird "warts" in the specification, for example what an
  6024. interrupted I/O system call returns, atomic pipe buffering, etc.
  6025. The only reason these warts are present in POSIX.1 is that we had to
  6026. accommodate demands from vendors who already had poorly engineered
  6027. existing practice in these areas.  If one were to do a proper job of
  6028. specifying minimal, modularized system functionality, certainly such
  6029. abominations as the signal mechanism should not be present in the
  6030. final design.  While UNIX originally embodied many good ideas, it also
  6031. missed on a few significant points, and during commercialization it has
  6032. acquired a slew of additional misfeatures.  It would be a severe
  6033. disservice to future system evolution to cast such attributes in stone
  6034. in the "minimal module" specifications.  I think a MUCH better approach
  6035. would be to engineer a new set of specifications for this project,
  6036. dropping literal POSIX.1 compatibility as unduly constraining.  Of
  6037. course, it would be best if the new specs could be reasonably
  6038. implemented on existing POSIX.1-conformant systems, but that is not
  6039. the same goal as stated in the PAR.
  6040.  
  6041.  
  6042. Volume-Number: Volume 31, Number 71
  6043.  
  6044. From std-unix-request@uunet.UU.NET  Sat May 29 02:29:44 1993
  6045. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  6046.     (5.61/UUNET-mail-drop) id AA28938; Sat, 29 May 93 02:29:44 -0400
  6047. Received: from cygnus.com by relay1.UU.NET with SMTP 
  6048.     (5.61/UUNET-internet-primary) id AA17873; Sat, 29 May 93 02:29:40 -0400
  6049. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  6050.     id AA09666; Fri, 28 May 93 23:29:41 PDT
  6051. From: nick@usenix.org (Nicholas M. Stoughton)
  6052. Newsgroups: comp.std.unix
  6053. Subject: Standards Update, IEEE Standards Board
  6054. Organization: USENIX Standards Report Editor
  6055. Sender: sef@rodan.uu.net
  6056. Message-Id: <1u6uu0INNqal@rodan.UU.NET>
  6057. Reply-To: std-unix@uunet.uu.net
  6058. Nntp-Posting-Host: rodan.uu.net
  6059. X-Submissions: std-unix@uunet.uu.net
  6060. Date: 28 May 1993 23:13:20 -0700
  6061. To: std-unix@uunet.UU.NET
  6062.  
  6063. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  6064.  
  6065.                USENIX Standards Report Editor
  6066.  
  6067.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  6068.  
  6069.  
  6070. IEEE Standards Board
  6071.  
  6072.  
  6073. Mary Lynne Nielsen <m.nielsen@ieee.org> reports on the
  6074. March, 1993 meeting
  6075.  
  6076. The March 1993 IEEE Standards Board meeting was the occasion
  6077. for the approval of the largest amount of documents ever
  6078. from PASC, the Portable Applications Standards Committee of
  6079. the IEEE Computer Society, along with action on other
  6080. information pertinent to the development of information
  6081. technology standards.
  6082.  
  6083. A New Year, a New Board
  6084.  
  6085. As this was the first board meeting in 1993, the composition
  6086. of the IEEE Standards Board and its committees went through
  6087. their annual changes.  Appointment to the Standards Board is
  6088. for one year only, although members can be appointed for up
  6089. to three years in a row.  As such, there was a melange of
  6090. both old and new faces at this meeting.  Of interest to PASC
  6091. is the fact that two of its members are now members of the
  6092. Standards Board, Lorraine Kevra and Jim Isaak.  Other
  6093. Computer Society members include Clyde Camp from
  6094. Microprocessors, Gary Robinson and Don Loughry from 802, and
  6095. Leonard Tripp from the SCCs. Steve Diamond from
  6096. Microprocessors is also a committee member, though not a
  6097. board member.  This was also the first meeting run by new
  6098. Board vice-president of standards Wally Read (previous Board
  6099. vice-president
  6100.  
  6101. Marco Migliaro had served for three years, so this was quite
  6102. a change).
  6103.  
  6104. Wally made a number of changes to the chairs of various
  6105. Board committees.  For instance, Gary Robinson is now the
  6106. chair of RevCom (the IEEE Standards Board Review Committee,
  6107. which approves balloted standards for publication), and
  6108. Clyde Camp, who used to be RevCom chair, is now chair of
  6109. NesCom (the IEEE Standards Board New Standards Committee,
  6110. which approves Project Authorization Requests, or PARs).  As
  6111. a matter of fact, very few previous chairs maintained their
  6112. positions for this year.  What this means in a practical
  6113. sense is that there will be a real change in the dynamic and
  6114. in the manner that these committees operate during the year.
  6115. Each chair has his or her own way of wanting to run a
  6116. meeting, not to mention any extra goals that he or she may
  6117. want to accomplish.  This first meeting was a time for
  6118. establishing the groundwork for the rest of the year, for
  6119. understanding the role of each committee under a new chair
  6120. and with different members, and for evaluating the previous
  6121. work that a committee may have done.
  6122.  
  6123. NesCom
  6124.  
  6125. For instance, new NesCom chair Clyde Camp was previously
  6126. chair of RevCom.  During his time as RevCom chair, Clyde
  6127. instituted a department-wide review of all standards that
  6128. were over five years old and that had not been reaffirmed.
  6129. That review resulted in the removal of a lot of ``dead
  6130. wood'' standards that had been sitting on the books for
  6131. years with no changes, no reaffirmations, no revisions, and
  6132. no withdrawals.  Clyde is now aiming to do the same thing
  6133. for NesCom by examining all PARs that are over four years
  6134. old to see if any activity is occurring under them.  This is
  6135. directly attached to the IEEE Standards Operations Manual
  6136. instruction that a PAR is only active for four years.  It is
  6137. uncertain at this time what will result from this review,
  6138. but this should become clear in future meetings when NesCom
  6139. has a chance to review actual figures about PARs.
  6140.  
  6141. NesCom has also appointed a subcommittee to examine the
  6142. issue of producing an electronic PAR form.  Jim Isaak is on
  6143. this committee and can bring forward PASC's views on this
  6144. subject.
  6145.  
  6146. NesCom also took some specific action on PASC PARs at this
  6147. meeting.  Three PASC PARs were approved and four were not.
  6148. The four PARs that were not approved were missing the
  6149. original copies of required permission release letters.
  6150. This is the kind of seemingly small detail that can stall
  6151. approval of a PAR, and working group members should always
  6152. make sure to double-check the submissions forms to see that
  6153. they have provided all necessary information.
  6154.  
  6155. RevCom
  6156.  
  6157. RevCom was introduced to PASC activity in a big way by the
  6158. approval of 12, count 'em, 12 documents in the 1224 family.
  6159. These standards deal with Open Systems Interconnection (OSI)
  6160. and X.400 based messaging systems. Congratulations to the
  6161. chairs and working group members involved with these
  6162. standards; they were produced quickly and were able to be
  6163. approved straightforwardly!
  6164.  
  6165. These standards will now be fast-track balloted to become
  6166. international standards (fast-track balloting takes about
  6167. half the time of regular balloting).  This ballot is going
  6168. through ISO/IEC JTC1 SC21, which is the international
  6169. information technology working group covering information
  6170. retrieval, transfer, and management for OSI.
  6171.  
  6172. Hopefully, this will result in these 12 standards becoming
  6173. international standards before the end of the year.
  6174.  
  6175. JTC1 Guide
  6176.  
  6177. As mentioned in previous snitches, the IEEE Standards Board
  6178. International Committee (IntCom) has been working on guides
  6179. on how to develop standards in parallel with other
  6180. standards-developing organizations.  The first of these
  6181. discusses working with ISO/IEC JTC1 (the international
  6182. committee in charge of information technology standards).  A
  6183. final version of this guide was approved by letter ballot of
  6184. the committee in January.  It contains, among other things,
  6185. information relating to the POSIX/WG15 scheme of parallel
  6186. development.  It will be made available to any interested
  6187. party and will be included on the new IEEE Standards process
  6188. automation system.
  6189.  
  6190. Mechanized Development
  6191.  
  6192. Speaking of which, the IEEE Standards Department is
  6193. continuing progress with developing a process automation
  6194. system that will make various of its publications available
  6195. online and that will eventually serve as a means for
  6196. developing standards online through the use of SGML
  6197. (Standard Generalized Markup Language). This system is
  6198. available currently only through a modem connection (from
  6199. 2400 bps up to 14.4K bps-V.32bis) and will hopefully be
  6200. available through Internet connections in the fall.  Among
  6201. the publications available online are the IEEE Standards
  6202. Board Bylaws, the IEEE Standards Operations Manual, the IEEE
  6203. Standards Style Manual, and the aforementioned IntCom JTC1
  6204. Guide.  If you'd like more information about this developing
  6205. system, contact j.iorio@ieee.org.
  6206.  
  6207. Organizational Representatives
  6208.  
  6209. The issue of organizational representatives (ORs, also known
  6210. as IRs in PASC) was raised by Gary Robinson on behalf of the
  6211. Computer Society last December at the IEEE Standards Board.
  6212. The topic was then passed to ProCom for discussion in March.
  6213. The subject concerns a recommendation from the Computer
  6214. Society Standards Activities Board (SAB) that asked for
  6215. revision or clarification of the OR policy to 1) limit OR
  6216. voting rights to voting on sponsor ballots of draft
  6217. standards, and 2) state that IEEE Standards Board approval
  6218. of voting rights for ORs is granted for a specific
  6219. standards-development effort identified by one or more
  6220. specific PARs.  ProCom began to discuss this item in March.
  6221. Among the items mentioned at that time were the growing
  6222. number of ORs in the PASC Standards Executive Committee
  6223. (SEC), the possibility of approving ORs for a project and
  6224. not a committee, the possibility of creating a time limit
  6225. for OR terms, and the information the Standards Board may
  6226. need to be able to judge qualifications for OR approval.
  6227. This topic will be discussed further at the ProCom meeting
  6228. in June.
  6229.  
  6230. Approved PARs:
  6231.  
  6232.    + P1003.15a, Draft Standard for Information Technology-
  6233.      Portable Operating System Interface (POSIX)-Part 2:
  6234.      Shell and Utilities-Amendment: Batch Environment
  6235.  
  6236.    + P1003.21, Draft Standard for Information Technology-
  6237.      Portable Operating System Interface (POSIX)-Part 1:
  6238.      System Application Program Interface (API)- Amendment:
  6239.      Real-Time Distributed Systems Communications
  6240.  
  6241.    + P1003.22, Draft Guide to the POSIX Open Systems
  6242.      Environment-A Security Framework
  6243.  
  6244. Withdrawn PARs:
  6245.  
  6246.    + P1238.1, Draft Standard for Information Technology-OSI
  6247.      Applications Program Interfaces-Common Connection
  6248.      Management and Supporting Functions
  6249.  
  6250. Approved Standards:
  6251.  
  6252.    + P1224, Standard for Information Technology-Open Systems
  6253.      Interconnection (OSI) Abstract Data Manipulation-
  6254.      Application Program Interface (API) [Language
  6255.      Independent]
  6256.  
  6257.    + P1224.1, Standard for Information Technology-X.400
  6258.      Based Electronics Messaging Application Program
  6259.      Interface (API) [Language Independent]
  6260.  
  6261.    + P1224.2, Standard for Information Technology-Directory
  6262.      Services Application Program Interface (API) [Language
  6263.      Independent]
  6264.  
  6265.    + P1326, Standard for Information Technology-Test Methods
  6266.      for Measuring Conformance to Open Systems
  6267.      Interconnection (OSI) Abstract Data Manipulation-
  6268.      Application Program Interface (API) [Language
  6269.      Independent]
  6270.  
  6271.    + P1326.1, Standard for Information Technology-Test
  6272.      Methods for Measuring Conformance to a X.400 Based
  6273.      Electronics Messaging Application Program Interface
  6274.      (API) [Language Independent]
  6275.  
  6276.    + P1326.2, Standard for Information Technology-Test
  6277.      Methods for Measuring Conformance to a Directory
  6278.      Services Application Program Interface (API) [Language
  6279.      Independent]
  6280.  
  6281.    + P1327, Standard for Information Technology-Open Systems
  6282.      Interconnection (OSI) Abstract Data Manipulation C
  6283.      Language Interfaces-Binding for an Application Program
  6284.      Interface (API)
  6285.  
  6286.    + P1327.1, Standard for Information Technology-X.400
  6287.      Based Electronics Messaging C Language Interfaces-
  6288.      Binding for an Application Program Interface (API)
  6289.  
  6290.    + P1327.2, Standard for Information Technology-Directory
  6291.      Services C Language Interfaces-Binding for an
  6292.      Application Program Interface (API)
  6293.  
  6294.    + P1328, Standard for Information Technology-Test Methods
  6295.      for Measuring Conformance to Open Systems
  6296.      Interconnection (OSI) Abstract Data Manipulation C
  6297.      Language Interfaces-Binding for an Application Program
  6298.      Interface (API)
  6299.  
  6300.    + P1328.1, Standard for Information Technology-Test
  6301.      Methods for Measuring Conformance to a X.400 Based
  6302.      Electronics Messaging C Language Interfaces- Binding
  6303.      for an Application Program Interface (API)
  6304.  
  6305.    + P1328.2, Standard for Information Technology-Test
  6306.      Methods for Measuring Conformance to Directory Services
  6307.      C Language Interfaces-Binding for an Application
  6308.      Program Interface (API)
  6309.  
  6310.  
  6311. Volume-Number: Volume 31, Number 72
  6312.  
  6313. From std-unix-request@uunet.UU.NET  Sat May 29 21:41:13 1993
  6314. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  6315.     (5.61/UUNET-mail-drop) id AA02311; Sat, 29 May 93 21:41:13 -0400
  6316. Received: from cygnus.com by relay1.UU.NET with SMTP 
  6317.     (5.61/UUNET-internet-primary) id AA13525; Sat, 29 May 93 21:41:11 -0400
  6318. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  6319.     id AA24925; Sat, 29 May 93 18:41:11 PDT
  6320. Xref: majipoor.cygnus.com comp.std.unix:33 comp.std.c:296
  6321. From: markmc@halcyon.halcyon.com (Mark McWiggins)
  6322. Newsgroups: comp.std.unix,comp.std.c
  6323. Subject: Standard for time/date representation?
  6324. Followup-To: comp.std.c
  6325. Organization: Northwest Nexus Inc.
  6326. Sender: sef@rodan.uu.net
  6327. Message-Id: <1u92iiINN21u@rodan.UU.NET>
  6328. Nntp-Posting-Host: rodan.uu.net
  6329. X-Submissions: std-unix@uunet.uu.net
  6330. Date: 29 May 1993 18:27:46 -0700
  6331. Reply-To: std-unix@uunet.uu.net
  6332. To: std-unix@uunet.UU.NET
  6333.  
  6334. Submitted-by: markmc@halcyon.halcyon.com (Mark McWiggins)
  6335.  
  6336. Some coworkers are working on application that could theoretically
  6337. live well into the next century, perhaps even outliving the Unix
  6338. standard "seconds since 1/1/70" representation.
  6339.  
  6340. I downloaded the description of the latest ISO time standard, but
  6341. it doesn't seem to say anything about internal representation of
  6342. date/time, only display representation.
  6343.  
  6344. So: is there an emerging standard for date/time representation,
  6345. and if so where is it?
  6346.  
  6347. Thanks in advance.
  6348.  
  6349. -- 
  6350. Mark McWiggins        Hermes & Associates        +1 206 632 1905 (voice)
  6351. markmc@halcyon.com    Box 31356, Seattle WA 98103-1356  +1 206 632 1738 (fax)
  6352.  
  6353. [ Note cross-posting, and followup, please -- mod ]
  6354.  
  6355. Volume-Number: Volume 31, Number 73
  6356.  
  6357. From std-unix-request@uunet.UU.NET  Fri Jun  4 18:50:07 1993
  6358. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  6359.     (5.61/UUNET-mail-drop) id AA09142; Fri, 4 Jun 93 18:50:07 -0400
  6360. Received: from cygnus.com by relay1.UU.NET with SMTP 
  6361.     (5.61/UUNET-internet-primary) id AA09936; Fri, 4 Jun 93 18:50:15 -0400
  6362. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  6363.     id AA14006; Fri, 4 Jun 93 15:49:58 PDT
  6364. From: jsh@teal.csn.org (Jeffrey Haemer)
  6365. Newsgroups: comp.std.unix
  6366. Subject: Electronic Balloting
  6367. Organization: Colorado SuperNet, Inc.
  6368. Sender: sef@rodan.uu.net
  6369. Message-Id: <1uoeafINN1i2@rodan.UU.NET>
  6370. X-Submissions: std-unix@uunet.uu.net
  6371. Date: 4 Jun 1993 14:20:15 -0700
  6372. Reply-To: std-unix@uunet.uu.net
  6373. To: std-unix@uunet.UU.NET
  6374.  
  6375. Submitted-by: jsh@teal.csn.org (Jeffrey Haemer)
  6376.  
  6377. Folks,
  6378.  
  6379. A few weeks back, we posted a note asking for your advice and aid
  6380. in prototyping software for electronic standards balloting.  We
  6381. got it.  Thanks.  Now we want some more.
  6382.  
  6383. Here's a shar with a first cut at some balloting software.  Unshar
  6384. it, read the README, and the rest should be self-explanatory.
  6385. We're looking for advice, bugs, bug-fixes, enhancements, and users.
  6386. The shar includes our original post, explaining our goal in more detail.
  6387.  
  6388. Jeffrey S. Haemer, USENIX Standards Liaiason    <jsh@usenix.org>
  6389. Pat Wilson, SAGE Board Member            <paw@rigel.dartmouth.edu>
  6390.  
  6391. ========
  6392. #! /bin/sh
  6393. # This is a shell archive.  Remove anything before this line, then unpack
  6394. # it by saving it into a file and typing "sh file".  To overwrite existing
  6395. # files, type "sh file -c".  You can also feed this as standard input via
  6396. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  6397. # will see the following message at the end:
  6398. #        "End of archive 1 (of 1)."
  6399. # Contents:  Environ.pl Mail.pl README ballot balloting.mm vote
  6400. # Wrapped by ballot@canary.com on Fri Jun  4 14:11:16 1993
  6401. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  6402. if test -f 'Environ.pl' -a "${1}" != "-c" ; then 
  6403.   echo shar: Will not clobber existing file \"'Environ.pl'\"
  6404. else
  6405. echo shar: Extracting \"'Environ.pl'\" \(1773 characters\)
  6406. sed "s/^X//" >'Environ.pl' <<'END_OF_FILE'
  6407. X# $Id: Environ.pl,v 3.0 1993/06/04 19:53:34 ballot Exp ballot $
  6408. X
  6409. Xpackage Environ;
  6410. X# print the environment
  6411. Xsub 'printenv {
  6412. X    foreach (sort keys %ENV) {
  6413. X        print "$_=$ENV{$_}\n";
  6414. X    }
  6415. X}
  6416. X
  6417. X# set environment variables
  6418. X#    override and add to the values in ENV
  6419. X#    with values specified in a resource file.
  6420. X#    The resource file is specified by RESOURCE
  6421. Xsub 'setenv {
  6422. X    local(@path) = split(m%/%, $0);
  6423. X    local($cmd) = pop(@path);
  6424. X    %ENV = &'get_arr($cmd, %ENV) unless ($'setenv'guard++)
  6425. X}
  6426. X
  6427. X# fill an array from a specified file
  6428. X#    Use the first argument as the name of an environment variable
  6429. X#    that points at the keyfile.
  6430. X#    If that fails, try a file by the name of arg1
  6431. X#    Use the second argument as an array of default values
  6432. X#
  6433. X#    See setenv() as an example.
  6434. X#
  6435. X#    BUGS:
  6436. X#        I don't get why I can't combine the lines marked with "?".
  6437. X#
  6438. Xsub 'get_arr {
  6439. X    local($keyfile) = shift(@_);
  6440. X    local (%arr) = @_;
  6441. X    open(KEYS,  $ENV{$keyfile} = $ENV{$keyfile} ?  $ENV{$keyfile} : ("$keyfile.res") ) || return %arr;
  6442. X    while (<KEYS>) {
  6443. X        chop;
  6444. X        ($name, $other) = split(' ', $_, 2);    # ?
  6445. X        $arr{$name} = $other;            # ?
  6446. X    }
  6447. X    close(KEYS) || die "can't close $keyfile: $!, aborting\n";
  6448. X    return %arr;
  6449. X}
  6450. X
  6451. X# Test routine.  Invoke it in a driver with 
  6452. X#    require "Environ.pl";
  6453. X#    &Environ'test;
  6454. Xsub test {
  6455. X    &'setenv;
  6456. X    %arr = &'get_arr("foo", %ENV);
  6457. X    die "get_arr failed to get ENV\n" unless $arr{HOME} = $ENV{HOME};
  6458. X    $arr{HOME} = NULL;
  6459. X
  6460. X    open(IN, "foo.res");
  6461. X    print IN "HOME\tBOGUS\n";
  6462. X    close(IN);
  6463. X    %arr = &'get_arr("foo", %ENV);
  6464. X    die "getarr failed to read foo.res\n" unless $arr{HOME} = "BOGUS";
  6465. X    $arr{HOME} = NULL;
  6466. X
  6467. X    $ENV{"bar"} = "foo.res";
  6468. X    %arr = &'get_arr("bar", %ENV);
  6469. X    die "getarr failed to read ENV{bar}\n" unless $arr{HOME} = "BOGUS";
  6470. X    $arr{HOME} = NULL;
  6471. X
  6472. X    unlink("foo.res");
  6473. X    print "Package tests okay.\n";
  6474. X}
  6475. X
  6476. X1;
  6477. END_OF_FILE
  6478. if test 1773 -ne `wc -c <'Environ.pl'`; then
  6479.     echo shar: \"'Environ.pl'\" unpacked with wrong size!
  6480. fi
  6481. chmod +x 'Environ.pl'
  6482. # end of 'Environ.pl'
  6483. fi
  6484. if test -f 'Mail.pl' -a "${1}" != "-c" ; then 
  6485.   echo shar: Will not clobber existing file \"'Mail.pl'\"
  6486. else
  6487. echo shar: Extracting \"'Mail.pl'\" \(2375 characters\)
  6488. sed "s/^X//" >'Mail.pl' <<'END_OF_FILE'
  6489. X# $Id: Mail.pl,v 3.0 1993/06/04 19:53:34 ballot Exp ballot $
  6490. X
  6491. Xrequire "Environ.pl";
  6492. X
  6493. Xpackage Mail;
  6494. X
  6495. X@MAILER = ("/usr/bin/mailx", "/bin/mail", "/usr/bin/mail", "/usr/ucb/Mail");
  6496. X
  6497. X# get key lines
  6498. X#    Return each key value
  6499. X#    in the current item in an associative array.
  6500. X#    keylines are specified by regular expressions
  6501. X#    in a file named by the second argument,
  6502. X#    default expressions are supplied in the third.
  6503. Xsub 'getkeys {
  6504. X
  6505. X    local($_, $keyfile, %defaults) = @_;
  6506. X    
  6507. X    %keyline = &'get_arr($keyfile, %defaults) unless ($getkeys'guard++);
  6508. X    local(%info);
  6509. X    local($*) = 1;
  6510. X    for $k (keys %keyline) {
  6511. X        $info{$k} = $1 if (/$keyline{$k}/);
  6512. X    }
  6513. X    return %info;
  6514. X}
  6515. X
  6516. X# get all the mail messages
  6517. X#    Toss the entire mail file into an array, one element per message.
  6518. X#    Return the array
  6519. Xsub 'getmsgs {
  6520. X    open(INBOX, $_[0])        || die "can't open $_[0]: $!, aborting\n";
  6521. X    local($/) = '';
  6522. X    @msg = ();
  6523. X    $msg = '';
  6524. X    while(<INBOX>) {
  6525. X        if (/^From /) {
  6526. X            push(@msg, $msg) if $msg;
  6527. X            $msg = '';
  6528. X        }
  6529. X        $msg .= $_;
  6530. X    }
  6531. X    push (@msg, $msg) if $msg;
  6532. X    return @msg;
  6533. X}
  6534. X
  6535. X# mail a message
  6536. X#    just a call to the native mail program
  6537. X#
  6538. X#    BUGS: I worry a bit about the diversity of mail programs
  6539. Xsub 'mailx {
  6540. X    die "bad call to mailx\n" unless @_ > 2;    # try assert
  6541. X    local($sub, $to, @msg) = @_;
  6542. X    ($ENV{MAILER}) = grep(-x, @MAILER) unless $ENV{MAILER};
  6543. X    $cmd = "| $ENV{MAILER} -s '$sub' $to";
  6544. X    open(ACKMAIL, $cmd)            || die "can't open $cmd: $!, aborting\n";
  6545. X    print ACKMAIL @msg;
  6546. X    close(ACKMAIL)                || die "can't close $cmd: $!, aborting\n";
  6547. X}
  6548. X
  6549. X# Test routine.  Invoke it in a driver with 
  6550. X#    require "Mail.pl";
  6551. X#    &Mail'test;
  6552. X
  6553. X# default values.  %KEYLINES is probably the wrong set
  6554. X@MAILDIR = ("/var/spool/mail", "/var/mail", "/usr/spool/mail");
  6555. X%KEYLINE =    (
  6556. X        'Checksum',    'Checksum:\s*(\d+\s*\d+)',
  6557. X        'From',        '^From:\s*(.*)',
  6558. X        'Author',    'Author:\s*(.*)',
  6559. X        'ID',        'ID:\s*(\d+)',
  6560. X        'Subject',    '^Subject:\s*(.*)',
  6561. X        'Vote',        'Vote:\s*(.+)',
  6562. X        );
  6563. X
  6564. Xsub test {
  6565. X    setpwent;
  6566. X    ($name) = getpwuid($>);        # I dunno, why not?
  6567. X    endpwent;
  6568. X    &'mailx("Zzazz", $name, "This is the first line\nThis is the second\n");
  6569. X    sleep 10;
  6570. X    ($maildir) = grep(-e, @MAILDIR);
  6571. X    @msgs = &'getmsgs("$maildir/$name");
  6572. X    $newmsg = pop(@msgs);
  6573. X    %info = &'getkeys($newmsg, "keyline", %KEYLINE);
  6574. X
  6575. X    die "Bad subject line $info{Subject}\n" if "Zzazz" != $info{Subject};
  6576. X    die "Bad recipient line $info{To}\n" if "Zzazz" != $info{To};
  6577. X    print "Package tests okay.\n";
  6578. X}
  6579. X
  6580. X1;
  6581. END_OF_FILE
  6582. if test 2375 -ne `wc -c <'Mail.pl'`; then
  6583.     echo shar: \"'Mail.pl'\" unpacked with wrong size!
  6584. fi
  6585. # end of 'Mail.pl'
  6586. fi
  6587. if test -f 'README' -a "${1}" != "-c" ; then 
  6588.   echo shar: Will not clobber existing file \"'README'\"
  6589. else
  6590. echo shar: Extracting \"'README'\" \(4209 characters\)
  6591. sed "s/^X//" >'README' <<'END_OF_FILE'
  6592. X# $Id: README,v 3.0 1993/06/04 19:53:34 ballot Exp ballot $
  6593. X
  6594. XThis is a cut at balloting software.
  6595. X
  6596. X
  6597. X            INSTALLATION
  6598. X
  6599. XThe system receiving the votes should have a special id to process
  6600. Xthe votes, and votes should be sent to that id (e.g.
  6601. X<posix-dot-fifty@canary.com>).
  6602. X
  6603. XYou _must_ create an initial, two-column file of valid voters,
  6604. X"ids.res".  Each voter needs an id, and must know that id to vote.
  6605. X(The format of the file is "ID  Votername".) For IEEE standards
  6606. Xballots, for example, you might want to make the list be a list of
  6607. XIEEE members and their IEEE membership numbers.
  6608. X
  6609. XThe system has reasonable defaults, but it's fairly configurable;
  6610. Xit lets you use external files to specify what kinds of votes can
  6611. Xbe cast, where the mailboxes are, and all sorts of other things.
  6612. XUnfortunately, you currently have to read the code to understand
  6613. Xhow to configure it.
  6614. X
  6615. XCurrently, the scripts point at /usr/bin/perl.  If your system has
  6616. Xperl someplace else, you'll get non-informative error messages.
  6617. X
  6618. X
  6619. X            WHAT IT DOES
  6620. X
  6621. XVoters run "vote" to cast ballots.  The recipient of the votes runs
  6622. X"ballot" to count ballots.
  6623. X
  6624. X"vote" insures that the ballot has all the right fields,
  6625. Xthen tags a checksum on the end.
  6626. X
  6627. X"ballot" runs through the incoming mailbox and sorts the votes into
  6628. Xbins.  In doing so, it validates the balloter and the checksum,
  6629. Xand sends the sender an acknowledgment of the receipt of the vote.
  6630. X
  6631. X
  6632. X        WHAT IT DOESN'T DO: KNOWN PROBLEMS/PROJECTS
  6633. X
  6634. XThere should be a good configuration and installation script.
  6635. X
  6636. XCurrently, the scripts point at /usr/bin/perl.  If your system has
  6637. Xperl someplace else, you'll get non-informative error messages.
  6638. XThis could probably be fixed with a good configuration and
  6639. Xinstallation script.
  6640. X
  6641. XOther software that needs to be written are a utility for tallying
  6642. Xvotes and a utility for processing invalid votes.  We have contributed
  6643. Xsoftware that parses valid votes once they're binned, but it's not yet
  6644. Xready to post.
  6645. X
  6646. XThe "ids.res" file (and its processing) could be more sophisticated.
  6647. XIn particular, if it contained an email address, we could have a
  6648. Xdaemon periodically run through the file and send mail noodging
  6649. Xthose who haven't yet voted.
  6650. X
  6651. XKnown problems awaiting future solution are indicated in comments
  6652. Xthe code.  Those problems should probably be listed here instead,
  6653. Xor at least duplicated here.
  6654. X
  6655. XCurrently, the first vote from a voter that shows up in the mailbox
  6656. Xis the one that counts.  This has two shortcomings.  First, if
  6657. Xthe messages arrive out-of-order, this isn't the right choice.
  6658. XSecond, we might want to allow people to change their minds, in
  6659. Xwhich case we should probably use the _last_ message that arrives.
  6660. XPerhaps this should be a configuration or command-line option.
  6661. X
  6662. XThere should be a man page that doesn't make you read the code to
  6663. Xfigure out how to configure things.
  6664. X
  6665. X"ballot" doesn't make any effort to lock the input mailbox.  That's
  6666. Xbecause I don't really know how to do this.  It also doesn't do
  6667. Xvery fancy security, for the same reason.  (Currently, "vote" appends
  6668. Xa simple checksum to the message which is double-checked by "ballot",
  6669. Xand then returned to the sender so that the sender can be certain that
  6670. Xthe checksum received was the one sent.)
  6671. X
  6672. XBecause different groups may want different security levels or
  6673. Xalgorithms, perhaps the security/checksumming should be done by a
  6674. Xseparate executable that "vote" and "ballot" call as a subprocess.
  6675. X
  6676. X
  6677. X            PHILOSOPHICAL OBSERVATION
  6678. X
  6679. XIt is arguably ironic that this balloting software, initially
  6680. Xdesigned to help ballot standards documents, is in a non-standardized
  6681. Xlanguage.  I suspect that the fastest way to whip this suite into
  6682. Xshape is to ask that everyone who chooses to comment on this amusing
  6683. Xirony accompany the comment with an improvement to the software.
  6684. X(Figure, it's either that or we create a group to standardize perl ... :-)
  6685. X
  6686. X
  6687. X                FILES
  6688. X
  6689. XEnvPkg.pl    A package to get and set environment variables and resources
  6690. XMailPkg.pl    A package that handles the mail messages
  6691. XREADME        This file
  6692. Xballot        Sorts mail file into bins of each kind of vote
  6693. Xids.res        A two-column list of folks yet to vote: ID Name
  6694. Xvote        script to generate a vote
  6695. Xvoted.res    Folks who have already voted, same format as "ids"
  6696. END_OF_FILE
  6697. if test 4209 -ne `wc -c <'README'`; then
  6698.     echo shar: \"'README'\" unpacked with wrong size!
  6699. fi
  6700. # end of 'README'
  6701. fi
  6702. if test -f 'ballot' -a "${1}" != "-c" ; then 
  6703.   echo shar: Will not clobber existing file \"'ballot'\"
  6704. else
  6705. echo shar: Extracting \"'ballot'\" \(4819 characters\)
  6706. sed "s/^X//" >'ballot' <<'END_OF_FILE'
  6707. X#!/usr/bin/perl
  6708. X# $Id: ballot,v 3.0 1993/06/04 19:53:34 ballot Exp ballot $
  6709. X
  6710. Xrequire "Mail.pl";
  6711. X
  6712. X@MAILDIRS = ("/var/spool/mail", "/var/mail", "/usr/spool/mail");
  6713. X%CHOICES  = (
  6714. X    YES, "yes",
  6715. X    NO, "no",
  6716. X    ABSTAIN, "abstain",
  6717. X);
  6718. X
  6719. X%KEYLINE =    (
  6720. X        'Checksum',    'Checksum:\s*(\d+\s*\d+)',
  6721. X        'From',        '^From:\s*(.*)',
  6722. X        'Author',    'Author:\s*(.*)',
  6723. X        'ID',        'ID:\s*(\d+)',
  6724. X        'Subject',    '^Subject:\s*(.*)',
  6725. X        'Vote',        'Vote:\s*(.+)',
  6726. X        );
  6727. X
  6728. X# acknowledge a message
  6729. X#    parse out the sender,
  6730. X#    return an ack with enough information to let the recipient know
  6731. X#    what we actually got.
  6732. Xsub ack {
  6733. X    local($sub) = "Vote received";
  6734. X    local($to) = $Keyline{From};
  6735. X    local(@ack) =    (
  6736. X            "Received vote:    $Keyline{Vote}\n",
  6737. X            "Voter:        $Keyline{Author}\n",
  6738. X             "ID:        $Keyline{ID}\n",
  6739. X            "Checksum:    $Keyline{Checksum}\n",
  6740. X            "Msg subject:    $Keyline{Subject}\n"
  6741. X            );
  6742. X
  6743. X    # optional "To" line formats
  6744. X    if ($to =~ /<(\S*)>/) {
  6745. X        $to = $1;
  6746. X    } elsif ($to =~ /(\S*)\s*\(.*\)/) {
  6747. X        $to = $1;
  6748. X    } else {
  6749. X        return 0;
  6750. X    }
  6751. X    &mailx($sub, $to, @ack);
  6752. X    1;
  6753. X}
  6754. X
  6755. X# 'bin' an individual message
  6756. X#    Make sure the vote's legit and acknowledge it,
  6757. X#    then toss the message into the bin
  6758. X#    indicated in the message's "Vote:" field.
  6759. Xsub bin {
  6760. X    local($msg) = @_[0];
  6761. X    %Keyline = &'getkeys($msg, "keyline", %KEYLINE);
  6762. X    local($vote) = $Keyline{Vote};
  6763. X    foreach (keys %Choices) {
  6764. X        $vote = $_, last if $vote =~ /$Choices{$_}/i
  6765. X    }
  6766. X    $vote = BAD unless (&valid($msg) && $vote && &ack());
  6767. X    $tally{$vote}++;
  6768. X    print $vote $msg;
  6769. X}
  6770. X
  6771. X# check out the checksum
  6772. X#    Right now, expects messages to end with the two lines
  6773. X#        Checksum: nnnn nnnn
  6774. X#
  6775. X#    where the numbers come from running cksum
  6776. X#    on the rest of the message body
  6777. X#
  6778. X#    BUGS: Okay, okay, this isn't any good.
  6779. X#    Still, little point wasting time here
  6780. X#    until I know what the right thing to do is.
  6781. Xsub cksum {
  6782. X    local($msg) = @_[0];
  6783. X    return 1;
  6784. X    # $*=1;
  6785. X    @text = split(/\n\n/, $msg);            # split out the header
  6786. X    shift(@text);                    # and dump it
  6787. X    @text = split(/^Checksum: /, join(' ', @text));    # now the get the checksum
  6788. X    $checksum = pop(@text);
  6789. X    $checksum = unpack("%32C*", join(' ', @text));
  6790. X}
  6791. X
  6792. X# clean up
  6793. X#    print out the tally;
  6794. X#    rewrite the "ids" (yet-to-vote) and "voted" files;
  6795. X#    finally close open files
  6796. X#    removing any that got created but never used
  6797. Xsub clean_up {
  6798. X    &tally(%tally);
  6799. X    open(IDS, "> $ENV{'ids'}")        || die "can't open $ENV{ids} for write: $!, aborting\n";
  6800. X    open(VOTED, ">> $ENV{'voted'}")        || die "can't open $ENV{voted} for append: $!, aborting\n";
  6801. X    foreach (keys %Ids) {
  6802. X        print { $Voted{$_} ? VOTED : IDS } "$_\t$Ids{$_}\n";
  6803. X    }
  6804. X    close(IDS)            || die "can't close $ENV{ids}: $!, aborting\n";
  6805. X    close(VOTED)            || die "can't close $ENV{voted}: $!, aborting\n";
  6806. X    close(BAD)            || die "can't close BAD: $!, aborting";
  6807. X    foreach (BAD, $ENV{"ids"}, $ENV{"voted"}) {
  6808. X        unlink $_ if -z $_;
  6809. X    }
  6810. X
  6811. X    unlink("BAD") if -z "BAD";
  6812. X    foreach (keys %Choices) {
  6813. X        close($_)        || die "can't close $_: $!, aborting";
  6814. X        unlink $_ if -z $_;
  6815. X    }
  6816. X}
  6817. X
  6818. X# all the initialization
  6819. X#    open up the input mailbox and the output mailboxes.
  6820. X#    note that votes are cumulative
  6821. X#
  6822. X#    BUGS: needs to lock the input mailbox,
  6823. X#    then move it out of the way so ballots aren't counted twice
  6824. Xsub initialize {
  6825. X    &setenv;
  6826. X    die "No valid voters\n" unless %Ids = &get_arr("ids");
  6827. X    local(%voted) = &get_arr("voted");
  6828. X     foreach (keys %voted) {
  6829. X         $Voted{$_}++;
  6830. X    }
  6831. X
  6832. X    ($Maildir) = grep(-e, @MAILDIRS);
  6833. X    ($Name) = getpwuid($>);        # I dunno, why not?
  6834. X    $ENV{BALLOT_BOX} = $ENV{BALLOT_BOX} || "$Maildir/$Name";
  6835. X    $ENV{"voted"} = $ENV{"voted"} || "voted.res";
  6836. X    die "No votes\n" if ( -z $ENV{BALLOT_BOX} || ! -e $ENV{BALLOT_BOX} );
  6837. X    %Choices = &get_arr("choices", %CHOICES);
  6838. X    foreach (keys %Choices) {
  6839. X        open($_, ">> $_")        || die "can't open $_ for append: $!, aborting\n";
  6840. X    }
  6841. X    open(BAD, ">> BAD")            || die "can't open BAD for append: $!, aborting\n";
  6842. X}
  6843. X
  6844. X# tally the votes
  6845. X#    just print out the tallies from this batch of mail
  6846. X#
  6847. X#    BUGS: This is just a debugging tool.
  6848. X#    Tallying should be done by a separate process
  6849. X#    and go directly to the tally bins.
  6850. Xsub tally {
  6851. X    local(%tally) = @_;
  6852. X    foreach (sort keys %tally) {
  6853. X        print "$_=$tally{$_}\n";
  6854. X    }
  6855. X}
  6856. X
  6857. X# validate the message
  6858. X#    Read the file that matches IDs to voter names,
  6859. X#    then check that the message "ID:" field has the right "Name:" field.
  6860. X#    and that the checksum matches the message.
  6861. X#    Don't allow ballot-box stuffing -- only vote once.
  6862. X#
  6863. X#    BUGS: May need other checks.
  6864. X#
  6865. X#    Assumes access to a global %Keyline array,
  6866. X#    which is probably the wrong thing to do.
  6867. X#    This should all be modularized and stuff.
  6868. Xsub valid {
  6869. X    local($msg) = @_[0];
  6870. X    ++$Voted{$Keyline{ID}} if
  6871. X        ($Keyline{Author} eq $Ids{$Keyline{ID}})
  6872. X        && &cksum($msg)
  6873. X        && !$Voted{$Keyline{ID}};
  6874. X}
  6875. X
  6876. X# read mail messages from mailbox
  6877. X# and toss them one-by-one into an appropriate output mailbox
  6878. X
  6879. X&initialize;
  6880. X@msg = &getmsgs($ENV{BALLOT_BOX});
  6881. Xwhile($msg = shift(@msg)) {
  6882. X    &bin($msg);
  6883. X}
  6884. X&clean_up;
  6885. END_OF_FILE
  6886. if test 4819 -ne `wc -c <'ballot'`; then
  6887.     echo shar: \"'ballot'\" unpacked with wrong size!
  6888. fi
  6889. chmod +x 'ballot'
  6890. # end of 'ballot'
  6891. fi
  6892. if test -f 'balloting.mm' -a "${1}" != "-c" ; then 
  6893.   echo shar: Will not clobber existing file \"'balloting.mm'\"
  6894. else
  6895. echo shar: Extracting \"'balloting.mm'\" \(1852 characters\)
  6896. sed "s/^X//" >'balloting.mm' <<'END_OF_FILE'
  6897. X.\" $Id: balloting.mm,v 1.1 1993/06/04 20:10:15 ballot Exp ballot $
  6898. X.\" Uses the mm macro ".PH", but that's all
  6899. X.PH "''''"
  6900. X.ce
  6901. XElectronic Balloting Software
  6902. X
  6903. XWhat if you could FTP POSIX draft standards and ballot on them from
  6904. Xthe comfort of your own keyboard?  No more messy stamps or ink-stained
  6905. Xfingers!  No need to wait on the Postal "Service" for the latest
  6906. Xdrafts!
  6907. X
  6908. XWe see a future in which draft standards will be available for
  6909. Xanonymous FTP, and balloting can be done by email.  For a variety
  6910. Xof reasons -- some sensible, some merely historical -- achieving
  6911. Xeither of these advances requires overcoming both political and
  6912. Xtechnical barriers.  We'd like to remove the technical barriers.
  6913. XAndrew Hume has already demonstrated a prototype solution for
  6914. Xelectronic draft distribution.  We'd like to see a prototype for
  6915. Xelectronic balloting, and we'd like your help to make this happen.
  6916. X
  6917. XIt's envisioned that any electronic balloting procedure will need
  6918. X(a) authentication at least as good as Snail Mail provides and (b)
  6919. Xvote-counting software to make it as painless as possible.
  6920. X
  6921. XQuick-and-dirty authentication can be as simple as (1) mail the
  6922. Xballot-request software, which then (2) generates an encryption
  6923. Xkey and (3) sends it, via postal mail (wouldn't want them to feel
  6924. X_too_ left out!) to the requester, who then (4) uses the out-of-band
  6925. Xkey to encrypt the ballot, which is then (5) decrypted by the
  6926. Xballoting software and (6) counted appropriately -- or at least
  6927. Xthat's the plan.
  6928. X
  6929. XWhat's wrong with the plan?  How can it be made better?  How
  6930. Xinteresting can the vote-counting software get?  Should it be
  6931. Xwritten in perl?
  6932. X
  6933. XPlease contribute your thoughts, code, etc., and help POSIX balloting
  6934. Xstep into the 1990s.
  6935. X
  6936. X
  6937. X.nf
  6938. X- Jeffrey S. Haemer, USENIX Standards Liaison    <jsh@usenix.org>
  6939. X- Pat Wilson, SAGE Board Member    <paw@rigel.dartmouth.edu>
  6940. X.fi
  6941. END_OF_FILE
  6942. if test 1852 -ne `wc -c <'balloting.mm'`; then
  6943.     echo shar: \"'balloting.mm'\" unpacked with wrong size!
  6944. fi
  6945. # end of 'balloting.mm'
  6946. fi
  6947. if test -f 'vote' -a "${1}" != "-c" ; then 
  6948.   echo shar: Will not clobber existing file \"'vote'\"
  6949. else
  6950. echo shar: Extracting \"'vote'\" \(836 characters\)
  6951. sed "s/^X//" >'vote' <<'END_OF_FILE'
  6952. X#!/usr/bin/perl
  6953. X# $Id: vote,v 3.0 1993/06/04 19:53:34 ballot Exp ballot $
  6954. X
  6955. X# send in a ballot
  6956. X#    Tags a checksum on the end.
  6957. X#
  6958. X#    BUGS:
  6959. X#        The program should probably save the checksum,
  6960. X#        or even the completed ballot, somewhere
  6961. X#        so the user can verify that the acknowledgement
  6962. X#        matches what was sent.
  6963. X#        Right now, I use mail's "set record=" feature for this.
  6964. X
  6965. Xrequire "Mail.pl";
  6966. X
  6967. X@KEYWORDS = (Author, ID, Vote);
  6968. X
  6969. Xdie "Usage $0 ballot address\n" if (@ARGV != 2);
  6970. Xopen(BALLOT, $ARGV[0]);
  6971. Xwhile (<BALLOT>) {
  6972. X    push (@msg, $_);
  6973. X    foreach $k (@KEYWORDS) {
  6974. X        $keywords{$k}++ if ($_ =~ /^$k/);
  6975. X    }
  6976. X}
  6977. X
  6978. Xforeach $k (@KEYWORDS) {
  6979. X    unless ($keywords{$k}) {
  6980. X        print "$k? ";
  6981. X        $_ = <>;
  6982. X        redo if $_ =~ /^\s+$/;
  6983. X        push(@msg, "$k: $_");
  6984. X        next;
  6985. X    }
  6986. X}
  6987. Xpush (@msg, "Checksum: " . unpack('%32C*', join('', @msg)) . "\n");
  6988. X
  6989. X&mailx("Vote", $ARGV[1], @msg);
  6990. END_OF_FILE
  6991. if test 836 -ne `wc -c <'vote'`; then
  6992.     echo shar: \"'vote'\" unpacked with wrong size!
  6993. fi
  6994. chmod +x 'vote'
  6995. # end of 'vote'
  6996. fi
  6997. echo shar: End of archive 1 \(of 1\).
  6998. cp /dev/null ark1isdone
  6999. MISSING=""
  7000. for I in 1 ; do
  7001.     if test ! -f ark${I}isdone ; then
  7002.     MISSING="${MISSING} ${I}"
  7003.     fi
  7004. done
  7005. if test "${MISSING}" = "" ; then
  7006.     echo You have the archive.
  7007.     rm -f ark[1-9]isdone
  7008. else
  7009.     echo You still need to unpack the following archives:
  7010.     echo "        " ${MISSING}
  7011. fi
  7012. ##  End of shell archive.
  7013. exit 0
  7014.  
  7015.  
  7016. Volume-Number: Volume 31, Number 74
  7017.  
  7018. From std-unix-request@uunet.UU.NET  Fri Jun  4 21:38:37 1993
  7019. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7020.     (5.61/UUNET-mail-drop) id AA15457; Fri, 4 Jun 93 21:38:37 -0400
  7021. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7022.     (5.61/UUNET-internet-primary) id AA07363; Fri, 4 Jun 93 21:38:48 -0400
  7023. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7024.     id AA29366; Fri, 4 Jun 93 18:38:35 PDT
  7025. Xref: majipoor.cygnus.com comp.os.research:113 comp.std.unix:35
  7026. From: sean@netcom.com (Sean Burke22)
  7027. Newsgroups: comp.os.research,comp.std.unix
  7028. Subject: Obtaining the POSIX thread spec?
  7029. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  7030. Message-Id: <1uop2eINNg2a@darkstar.UCSC.EDU>
  7031. Nntp-Posting-Host: ftp.cse.ucsc.edu
  7032. Originator: osr@ftp
  7033. Date: 5 Jun 1993 00:23:42 GMT
  7034. Apparently-To: <std-unix-archive@uunet.uu.net>
  7035.  
  7036.   How do I get info on the POSIX thread specification?  Are there
  7037. any other candidates for a portable C-language thread API out there?
  7038.  
  7039. Sean Burke
  7040. -- 
  7041.  
  7042. Sean Burke            sean@netcom.com
  7043.  
  7044.  
  7045.  
  7046. From std-unix-request@uunet.UU.NET  Thu Jun 17 15:14:38 1993
  7047. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7048.     (5.61/UUNET-mail-drop) id AA23490; Thu, 17 Jun 93 15:14:38 -0400
  7049. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7050.     (5.61/UUNET-internet-primary) id AA07028; Thu, 17 Jun 93 15:14:08 -0400
  7051. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7052.     id AA26988; Thu, 17 Jun 93 12:09:18 PDT
  7053. From: nick@usenix.org (Nicholas M. Stoughton)
  7054. Newsgroups: comp.std.unix
  7055. Subject: Standards Update, \*(Rh
  7056. Organization: USENIX Standards Report Editor
  7057. Sender: sef@rodan.uu.net
  7058. Message-Id: <1vqdh5INNhk8@rodan.UU.NET>
  7059. Reply-To: std-unix@uunet.uu.net
  7060. Nntp-Posting-Host: rodan.uu.net
  7061. X-Submissions: std-unix@uunet.uu.net
  7062. Date: 17 Jun 1993 11:35:16 -0700
  7063. To: std-unix@uunet.UU.NET
  7064.  
  7065. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  7066.  
  7067. I don't believe I ever posted this, so here it is for your enjoyment!
  7068. -- 
  7069. Nick Stoughton
  7070.  
  7071. USENIX Standards Report Editor
  7072.  
  7073. The following text appeared anonymously on a notice board at the Irvine
  7074. meeting during the "great LIS debate". It is reproduced here for your
  7075. enjoyment...although their may be other conclusions possible!
  7076.  
  7077.  
  7078.             The Little Standards Group
  7079.  
  7080. Once a hard-working little standards group lived with a group of international
  7081. standards organizations, WG15, SC22, and JTC1.  One day they decided to make a
  7082. standard for them all to share.
  7083.  
  7084. "Who will help me start the standard?" asked the little standards group.
  7085. "Not I," said WG15 sheepishly. "Not I" bowed JTC1.  "Not I," grunted SC22.
  7086. "Then I will do it myself," said the little standards group.
  7087.  
  7088. When she had cut the interface, she asked "Who will help me edit the
  7089. standard?" "Not I" growled WG15.  "Not I" smiled JTC1.  "Not I" snorted SC22.
  7090. "Then I will do it myself" said the little standards group.
  7091.  
  7092. When the standard had been edited, the little standards group asked
  7093. "Who will help me ballot the standard?"  "Not I" sighed WG15.  "Not I"
  7094. sniffed JTC1.  "Not I" whined SC22.  "Then I will do it myself" said the
  7095. little standards group.
  7096.  
  7097. Soon the wonderful smell of a freshly baked standard filled the community.
  7098. "Now" said the little standards group, "who will help me use the standard?"
  7099. "Not so fast," cried WG15. "Before we can use our wonderful standard, we
  7100. must first have an LIS for the specification." "Yes!" cried JTC1.  "Absolutely
  7101. true." said SC22.  "I can understand that" said the little standards group,
  7102. "So, who will help me create this LIS?" "It's your standard, so you must
  7103. do it," said WG15. "This is reasonable," said JTC1. "Naturally it is
  7104. your task," said SC22.
  7105.  
  7106. The little standards group worked on the problem for a while, but was not
  7107. able to make progress.  So the little standards group went back to the others.
  7108. "I don't think I can do this LIS thing" said the little standards group.
  7109. "And I didn't even want to do this LIS thing in the first place.
  7110. Even though you want it done, you are unwilling to help.  Why should I do this
  7111. thing for you?" asked the little standards group. "You cannot call it a
  7112. standard until we say you can." said WG15.  "Regrettably true" said JTC1.
  7113. "We agree." chortled SC22.
  7114.  
  7115. The little standards group said "Fine. Then it will not be a standard for you;
  7116. it will be a standard for me. When you are ready, I will work with you to
  7117. create this LIS. Until then, I guess you'll just have to do without." So the
  7118. little standards group produced useful and portable applications, while WG15,
  7119. SC22, and JTC1 hungrily watched.
  7120.  
  7121.  
  7122. Volume-Number: Volume 31, Number 76
  7123.  
  7124. From std-unix-request@uunet.UU.NET  Thu Jun 17 15:16:39 1993
  7125. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  7126.     (5.61/UUNET-mail-drop) id AA23828; Thu, 17 Jun 93 15:16:39 -0400
  7127. Received: from cygnus.com by relay2.UU.NET with SMTP 
  7128.     (5.61/UUNET-internet-primary) id AA27370; Thu, 17 Jun 93 15:16:19 -0400
  7129. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7130.     id AA26982; Thu, 17 Jun 93 12:09:17 PDT
  7131. From: nick@usenix.org (Nicholas M. Stoughton)
  7132. Newsgroups: comp.std.unix
  7133. Subject: Standards Update, POSIX.5: Ada Bindings
  7134. Organization: USENIX Standards Report Editor
  7135. Sender: sef@rodan.uu.net
  7136. Message-Id: <1vqdeiINNhde@rodan.UU.NET>
  7137. Reply-To: std-unix@uunet.uu.net
  7138. Nntp-Posting-Host: rodan.uu.net
  7139. X-Submissions: std-unix@uunet.uu.net
  7140. Date: 17 Jun 1993 11:33:54 -0700
  7141. To: std-unix@uunet.UU.NET
  7142.  
  7143. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  7144.  
  7145.                USENIX Standards Report Editor
  7146.  
  7147.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  7148.  
  7149.  
  7150. POSIX.5: Ada Bindings
  7151.  
  7152.  
  7153. Del Swanson <dswanson@email.sp.paramax.com> reports on the
  7154. April 19-23, 1993 meeting in Irvine, Ca.:
  7155.  
  7156. The POSIX.5 group has been working to produce Ada language
  7157. bindings to POSIX standards.  The Ada binding for the
  7158. POSIX.1, POSIX.5, has now been published as an IEEE
  7159. standard, and we are now working on bindings to the Real-
  7160. Time Extensions standards being developed by the POSIX.4
  7161. group.
  7162.  
  7163. The binding to POSIX.4 Has been designated as POSIX.20.
  7164. Draft 1 was circulated for mock ballot last December, and
  7165. comments have been incorporated into the document.
  7166. Registration for real ballot was open in May and June, and
  7167. the ballot draft was to be circulated June 18, with a close
  7168. of balloting scheduled for the end of July.  We hope to have
  7169. this approved immediately after the approval of POSIX.4.
  7170.  
  7171. Meanwhile, work has begun concurrently on the binding to
  7172. POSIX.4a (threads extensions).  An initial draft has been
  7173. prepared, and was debated at the January meeting.
  7174. Significant changes to it are now expected to be put on hold
  7175. until the ballot resolutions and the next version of
  7176. POSIX.4a.  The POSIX.5 group met with the POSIX.4 group in
  7177. January to get an update on the status of the threads work.
  7178.  
  7179. Orthogonal to this update, some members of the POSIX.5 group
  7180. are becoming concerned about the relationship of the threads
  7181. interface and the updates to the Ada standard that is
  7182. commonly called Ada 9x.  Some significant changes and
  7183. enhancements are expected in the tasking model for Ada 9x,
  7184. and in some respects they have adverse impact on the ability
  7185. to implement an Ada runtime library using POSIX threads.
  7186. These concerns are being provided to the POSIX.4 group, for
  7187. consideration in the ballot resolution process.
  7188.  
  7189. In April, the group was updated on the interpretation
  7190. process for POSIX.5.  A few errors have been found in the
  7191. standard by implementers (e.g. missing parameter, missing
  7192. function definition, error condition oversights).  The only
  7193. way to make ``substantive'' changes, even for errors, is to
  7194. revise the standard, which means balloting, etc.  The group
  7195. decided to incorporate corrections in our binding for the
  7196. updated POSIX.1a.  We have initiated a Project Authorization
  7197. Request (PAR) for this work.
  7198.  
  7199. The group also composed a coordination ballot in response to
  7200. POSIX.4a, the threads extensions.  This is evidently the
  7201. first time such a ballot has been submitted.  It grows from
  7202. the fact that the POSIX.5 group is a coordination group
  7203. listed in the POSIX.4a PAR.  The group consensus was to
  7204. object to the proposed standard in seven areas.
  7205.  
  7206.   - Issues associated with finding the status of mutexes
  7207.     within signal handlers, and the asynch-safety of mutex
  7208.     operations.
  7209.  
  7210.   - Obtaining the effective priority of a thread which has
  7211.     had its priority changed by priority ceiling locking.
  7212.  
  7213.   - The relation of the options _POSIX_THREAD_PRIO_PROTECT
  7214.     and _POSIX_THREAD_PRIO_INHERIT.  They should be
  7215.     independent of one another.
  7216.  
  7217.   - The implications of unlocking mutexes not in the reverse
  7218.     order of their locking, on the implementation of
  7219.     priority protection schemes.  If the standard specified
  7220.     LIFO order as normative, implementation of priority
  7221.     changes could be very efficient.
  7222.  
  7223.   - The scheduling implications for priority changes due to
  7224.     priority inheritance.  A special rule should exist in
  7225.     the standard to require that an executing thread be
  7226.     inserted at the head of the queue for the appropriate
  7227.     priority when its effective priority changes due to
  7228.     inheritance only.  This is as opposed to explicit
  7229.     priority changes, for which the rules are given already
  7230.     and require the thread to go to the tail of the queue.
  7231.  
  7232.   - The relation of the clean-up routines to thread
  7233.     cancellation.  There are times when it should be safe to
  7234.     do the equivalent of a longjmp from a cleanup routine.
  7235.  
  7236.   - The relation of signal masks to threads and processes.
  7237.     We think that there should be an interface to mask
  7238.     delivery of asynchronous signals for the whole process.
  7239.  
  7240.  
  7241. Volume-Number: Volume 31, Number 75
  7242.  
  7243. From std-unix-request@uunet.UU.NET  Fri Jun 18 15:02:51 1993
  7244. Received: from relay2.UU.NET by rodan.UU.NET with SMTP 
  7245.     (5.61/UUNET-mail-drop) id AA21702; Fri, 18 Jun 93 15:02:51 -0400
  7246. Received: from cygnus.com by relay2.UU.NET with SMTP 
  7247.     (5.61/UUNET-internet-primary) id AA24921; Fri, 18 Jun 93 15:02:53 -0400
  7248. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7249.     id AA03877; Fri, 18 Jun 93 12:02:43 PDT
  7250. From: duke@iscp.bellcore.com (Duke Robillard)
  7251. Newsgroups: comp.std.unix
  7252. Subject: Standards Update, \*(Rh
  7253. Organization: Kithrup Enterprises, Ltd.
  7254. Sender: sef@rodan.uu.net
  7255. Message-Id: <1vt1nbINNhq4@rodan.UU.NET>
  7256. Reply-To: duke@iscp.bellcore.com
  7257. Nntp-Posting-Host: rodan.uu.net
  7258. X-Submissions: std-unix@uunet.uu.net
  7259. Date: 18 Jun 1993 11:32:11 -0700
  7260. To: std-unix@uunet.UU.NET
  7261.  
  7262. Submitted-by: duke@iscp.bellcore.com (Duke Robillard)
  7263.  
  7264. >           The Little Standards Group
  7265. >[...]
  7266. >
  7267. >The little standards group said "Fine. Then it will not be a standard for you;
  7268. >it will be a standard for me. When you are ready, I will work with you to
  7269. >create this LIS. Until then, I guess you'll just have to do without." So the
  7270. >little standards group produced useful and portable applications, while WG15,
  7271. >SC22, and JTC1 hungrily watched.
  7272.  
  7273. You know how you can tell this is a fairy tale?  It has a happy ending.
  7274.  
  7275.  
  7276. Volume-Number: Volume 31, Number 77
  7277.  
  7278. From std-unix-request@uunet.UU.NET  Tue Jun 22 13:49:46 1993
  7279. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7280.     (5.61/UUNET-mail-drop) id AA02776; Tue, 22 Jun 93 13:49:46 -0400
  7281. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7282.     (5.61/UUNET-internet-primary) id AA06491; Tue, 22 Jun 93 13:49:35 -0400
  7283. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7284.     id AA26621; Tue, 22 Jun 93 10:49:25 PDT
  7285. Xref: majipoor.cygnus.com comp.std.unix:39
  7286. From: lwv26@cas.org (Larry W. Virden)
  7287. Newsgroups: comp.std.unix
  7288. Subject: P1003.2 and the grep command
  7289. Organization: Nedriv Software and Shoe Shiners, Uninc.
  7290. Sender: sef@rodan.uu.net
  7291. Message-Id: <207f29INNge@rodan.UU.NET>
  7292. Reply-To: lvirden@cas.org
  7293. Nntp-Posting-Host: rodan.uu.net
  7294. X-Submissions: std-unix@uunet.uu.net
  7295. Date: 22 Jun 1993 10:21:13 -0700
  7296. To: std-unix@uunet.UU.NET
  7297.  
  7298. Submitted-by: lwv26@cas.org (Larry W. Virden)
  7299.  
  7300. What does POSIX mean when for grep -s it says to suppress the error
  7301. messages ordinarily written for nonexistent or unreadable files.
  7302.  
  7303. I assume that unreadable means AT LEAST files whose permissions are not
  7304. such that would allow me to read.  But what about things like EISDIR?
  7305. This is an error which returns indicating that one is not permitted to
  7306. read the file - correct?  May I have grep -s suppress this message as
  7307. well?
  7308.  
  7309. -- 
  7310. :s 
  7311. :s Larry W. Virden                 INET: lvirden@cas.org
  7312. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  7313.  
  7314.  
  7315. Volume-Number: Volume 31, Number 78
  7316.  
  7317. From std-unix-request@uunet.UU.NET  Tue Jun 22 20:02:22 1993
  7318. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7319.     (5.61/UUNET-mail-drop) id AA07820; Tue, 22 Jun 93 20:02:22 -0400
  7320. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7321.     (5.61/UUNET-internet-primary) id AA21536; Tue, 22 Jun 93 20:02:21 -0400
  7322. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7323.     id AA16606; Tue, 22 Jun 93 17:02:18 PDT
  7324. Xref: majipoor.cygnus.com comp.std.unix:40
  7325. From: mike@pdx095.intel.com (Mike Haertel)
  7326. Newsgroups: comp.std.unix
  7327. Subject: Re: P1003.2 and the grep command
  7328. Organization: MD6
  7329. Sender: sef@rodan.uu.net
  7330. Message-Id: <20859nINN6dj@rodan.UU.NET>
  7331. References: <207f29INNge@rodan.UU.NET>
  7332. Nntp-Posting-Host: rodan.uu.net
  7333. X-Submissions: std-unix@uunet.uu.net
  7334. Date: 22 Jun 1993 16:40:39 -0700
  7335. Reply-To: std-unix@uunet.uu.net
  7336. To: std-unix@uunet.UU.NET
  7337.  
  7338. Submitted-by: mike@pdx095.intel.com (Mike Haertel)
  7339.  
  7340. In article <207f29INNge@rodan.UU.NET> lwv26@cas.org (Larry W. Virden) writes:
  7341. >I assume that unreadable means AT LEAST files whose permissions are not
  7342. >such that would allow me to read.  But what about things like EISDIR?
  7343. >This is an error which returns indicating that one is not permitted to
  7344. >read the file - correct?  May I have grep -s suppress this message as
  7345. >well?
  7346.  
  7347. Note that the messages usually suppressed by grep -s are the result
  7348. of open() attempts, but the EISDIR that Larry is talking about is
  7349. what you get when you try to read() and NFS-mounted directory--the
  7350. open() succeeds.
  7351.  
  7352. So the question is exactly what messages should grep -s suppress?
  7353. Clearly, it should suppress EACCES and ENOENT returned by open().
  7354. Should it suppress EISDIR returned by read()?  After all, an NFS-
  7355. mounted directory is certainly "unreadable"...
  7356.  
  7357. --
  7358. Mike Haertel <mike@ichips.intel.com>
  7359.  
  7360. This is a private posting; it does not indicate opinions or positions
  7361. of Intel Corp.
  7362.  
  7363. Volume-Number: Volume 31, Number 80
  7364.  
  7365. From std-unix-request@uunet.UU.NET  Tue Jun 22 20:02:31 1993
  7366. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7367.     (5.61/UUNET-mail-drop) id AA07837; Tue, 22 Jun 93 20:02:31 -0400
  7368. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7369.     (5.61/UUNET-internet-primary) id AA21575; Tue, 22 Jun 93 20:02:27 -0400
  7370. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7371.     id AA16612; Tue, 22 Jun 93 17:02:24 PDT
  7372. Xref: majipoor.cygnus.com comp.std.unix:41
  7373. From: steve@amber.ssd.csd.harris.com (Steve Brosky)
  7374. Newsgroups: comp.std.unix
  7375. Subject: Posix.4, accepted?
  7376. Organization: Harris CSD, Ft. Lauderdale, FL
  7377. Sender: sef@rodan.uu.net
  7378. Message-Id: <208588INN68v@rodan.UU.NET>
  7379. Nntp-Posting-Host: rodan.uu.net
  7380. X-Submissions: std-unix@uunet.uu.net
  7381. Date: 22 Jun 1993 16:39:52 -0700
  7382. Reply-To: std-unix@uunet.uu.net
  7383. To: std-unix@uunet.UU.NET
  7384.  
  7385. Submitted-by: steve@amber.ssd.csd.harris.com (Steve Brosky)
  7386.  
  7387. It was my understanding that the IEEE standards review board was meeting in
  7388. mid June to decide if the draft 14 of Posix.4 was to be accepted as
  7389. a standard.  Does anyone know if this happened?
  7390.  
  7391. Volume-Number: Volume 31, Number 79
  7392.  
  7393. From std-unix-request@uunet.UU.NET  Wed Jun 23 13:32:37 1993
  7394. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7395.     (5.61/UUNET-mail-drop) id AA17192; Wed, 23 Jun 93 13:32:37 -0400
  7396. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7397.     (5.61/UUNET-internet-primary) id AA15047; Wed, 23 Jun 93 13:32:33 -0400
  7398. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7399.     id AA05310; Wed, 23 Jun 93 10:32:31 PDT
  7400. Xref: majipoor.cygnus.com comp.std.unix:43
  7401. From: berg@pool.informatik.rwth-aachen.de (Stephen R. van den Berg)
  7402. Newsgroups: comp.std.unix
  7403. Subject: setgid() and saved gids, why made impossible?
  7404. Organization: Rechnerbetrieb Informatik - RWTH Aachen
  7405. Sender: sef@rodan.uu.net
  7406. Message-Id: <20a3ilINNfv8@rodan.UU.NET>
  7407. Nntp-Posting-Host: rodan.uu.net
  7408. X-Submissions: std-unix@uunet.uu.net
  7409. Date: 23 Jun 1993 10:23:33 -0700
  7410. Reply-To: std-unix@uunet.uu.net
  7411. To: std-unix@uunet.UU.NET
  7412.  
  7413. Submitted-by: berg@pool.informatik.rwth-aachen.de (Stephen R. van den Berg)
  7414.  
  7415. It seems that POSIX 1003.1 describes the semantics for setgid() in
  7416. such a way that they *needlessly* cripple certain applications.
  7417.  
  7418. As I understand it, POSIX 1003.1 specifies a very useful construction
  7419. called "saved user and group ids".
  7420.  
  7421. The saved ids principally get set whenever a process performs an execve()
  7422. call.  This first causes the effective ids to be set according to the settings
  7423. on the binary being executed, and shortly thereafter, the saved ids are
  7424. copied over from the effective ids.
  7425.  
  7426. This allows graceful switching between the real ids and the saved ids,
  7427. because both the real and saved ids will not be affected by subsequent
  7428. setuid() and setgid() calls, only the effective ids are changed.
  7429.  
  7430. So far, so good.  Then I notice a small problem on the horizon.  When the
  7431. program performs a setgid() while the effective uid of the process is zero,
  7432. this not only affects the real and effective gid, but it ALSO affects the
  7433. saved gid.
  7434.  
  7435. Now I can't imagine any program making use of or depending on this
  7436. (mis)feature.
  7437.  
  7438. Sure, I heard the classical argument, programs like "login" and "su" need
  7439. to be able to set the saved gid of a process to prevent security holes.
  7440. But that is not true.  They do not need to set it at all.  It would be
  7441. more than sufficient if both su and login could only set their real
  7442. and effective gids.  When they then subsequently execve() the following
  7443. shell (or other program), the saved gid will *automatically* be copied
  7444. from the effective gid.
  7445.  
  7446. Why do I care, you might wonder.  Well, consider the following:
  7447.  
  7448. -rwsr-sr-x  1 root     mail        49152 Mar 12 18:19 /local/bin/procmail
  7449. drwxrwxr-x  2 root     mail         1024 Mar 12 18:24 /usr/mail
  7450.  
  7451. If procmail is called by user A who is in group B, it then has to
  7452. assume the identity of a completely other user (the recipient) in order
  7453. to deliver the mail.
  7454.  
  7455. Say the recipient is user C in group D.
  7456.  
  7457. Then the following SHOULD happen to the ids while it is executing:
  7458.                             (- means no change)
  7459.  
  7460. Previous event:            uid    euid    suid    gid    egid    sgid
  7461.  
  7462. Start procmail            A    root    root    B    mail    mail
  7463. initgroups() for user C        -    -    -    -    -    -
  7464. setgid(D)            -    -    -    D    D    mail
  7465. setuid(C)            C    C    C    -    -    -
  7466. access some files for user D
  7467. start programs for user D
  7468. setgid(mail)            -    -    -    -    mail    -
  7469. create a file in /usr/mail
  7470. setgid(D)            -    -    -    -    D    -
  7471. access some files for user D
  7472. start programs for user D
  7473. exit
  7474.  
  7475.  
  7476. Now, POSIX says that the saved gid changes to D as well when the first
  7477. setgid(D) is executed (because the euid is zero).  This makes it *impossible*
  7478. to somehow flip back the gid to "mail", like I try to do in the second
  7479. setgid() call.
  7480.  
  7481. But, I can't delay this setgid(D) call till after the setuid() call because
  7482. then I may no longer have permissions to join group D.
  7483.  
  7484. This raises these questions:
  7485.     - Why did POSIX specify it the way it did?  Any compelling reason?
  7486.     - Is there any (fictitious) program that depends on the semantics of
  7487.       setgid() being so that it affects the saved gid when being root?
  7488.     - Is there any way to accomplish this flipping between two groups
  7489.       that I overlooked?
  7490.     - If not, can we do anything about the standard (to fix this, I can
  7491.       not imagine even one program breaking if we do)?
  7492.     - What about this rumoured setrgid() or setregid() call?  Would that
  7493.       exhibit the correct behaviour?  Or does it exhibit these
  7494.       braindamaged semantics (affecting the saved gid when root) as well?
  7495.  
  7496. Any comments/answers/hints appreciated.
  7497.  
  7498. -- 
  7499. Sincerely, berg@pool.informatik.rwth-aachen.de
  7500. Stephen R. van den Berg (AKA BuGless).    berg@physik.tu-muenchen.de
  7501.  
  7502. I've never been superstitious!  Knock on wood.
  7503.  
  7504.  
  7505. Volume-Number: Volume 31, Number 82
  7506.  
  7507. From std-unix-request@uunet.UU.NET  Wed Jun 23 13:32:40 1993
  7508. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7509.     (5.61/UUNET-mail-drop) id AA17197; Wed, 23 Jun 93 13:32:40 -0400
  7510. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7511.     (5.61/UUNET-internet-primary) id AA15058; Wed, 23 Jun 93 13:32:37 -0400
  7512. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7513.     id AA05298; Wed, 23 Jun 93 10:32:28 PDT
  7514. Xref: majipoor.cygnus.com comp.std.unix:42
  7515. From: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell)
  7516. Newsgroups: comp.std.unix
  7517. Subject: Re: P1003.2 and the grep command
  7518. Organization: FOO
  7519. Sender: sef@rodan.uu.net
  7520. Message-Id: <20a3eqINNfog@rodan.UU.NET>
  7521. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET>
  7522. Nntp-Posting-Host: rodan.uu.net
  7523. X-Submissions: std-unix@uunet.uu.net
  7524. Date: 23 Jun 1993 10:21:30 -0700
  7525. Reply-To: std-unix@uunet.uu.net
  7526. To: std-unix@uunet.UU.NET
  7527.  
  7528. Submitted-by: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell)
  7529.  
  7530. In article <20859nINN6dj@rodan.UU.NET> mike@pdx095.intel.com (Mike Haertel) writes:
  7531.  
  7532.    Note that the messages usually suppressed by grep -s are the result
  7533.    of open() attempts, but the EISDIR that Larry is talking about is
  7534.    what you get when you try to read() and NFS-mounted directory--the
  7535.    open() succeeds.
  7536.  
  7537. The real lose here (surprise, surprise) is that NFS is the culprit
  7538. here.  The correct place for the EISDIR to be returned is to the open
  7539. call, not to the read.  Errors should not be returned from read and
  7540. write if they can be detected at open time and are thoroughly
  7541. non-transient.
  7542.  
  7543. --
  7544. +1 617 628 6197 (H)      |     Offer to God a sacrifice of thanksgiving
  7545. +1 617 253 8568 (W)     -+-      and make good your vows to the Most High.
  7546. 14 Paulina Street        |     Call upon me in the day of trouble;
  7547. Somerville, MA 02144     |       I will deliver you, and you shall honor me.
  7548.  
  7549.  
  7550. Volume-Number: Volume 31, Number 81
  7551.  
  7552. From std-unix-request@uunet.UU.NET  Wed Jun 23 16:25:56 1993
  7553. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7554.     (5.61/UUNET-mail-drop) id AA09161; Wed, 23 Jun 93 16:25:56 -0400
  7555. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7556.     (5.61/UUNET-internet-primary) id AA17081; Wed, 23 Jun 93 16:25:44 -0400
  7557. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7558.     id AA17592; Wed, 23 Jun 93 13:25:40 PDT
  7559. Xref: majipoor.cygnus.com comp.std.unix:44
  7560. From: casper@fwi.uva.nl (Casper H.S. Dik)
  7561. Newsgroups: comp.std.unix
  7562. Subject: Re: P1003.2 and the grep command
  7563. Organization: FWI, University of Amsterdam
  7564. Sender: sef@rodan.uu.net
  7565. Message-Id: <20ac9sINN3eb@rodan.UU.NET>
  7566. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20a3eqINNfog@rodan.UU.NET>
  7567. Nntp-Posting-Host: rodan.uu.net
  7568. X-Submissions: std-unix@uunet.uu.net
  7569. Date: 23 Jun 1993 12:52:28 -0700
  7570. Reply-To: std-unix@uunet.uu.net
  7571. To: std-unix@uunet.UU.NET
  7572.  
  7573. Submitted-by: casper@fwi.uva.nl (Casper H.S. Dik)
  7574.  
  7575. mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) writes:
  7576. >The real lose here (surprise, surprise) is that NFS is the culprit
  7577. >here.  The correct place for the EISDIR to be returned is to the open
  7578. >call, not to the read.  Errors should not be returned from read and
  7579. >write if they can be detected at open time and are thoroughly
  7580. >non-transient.
  7581.  
  7582. No. NFS is not the culprit. You cannot detect this at open time.
  7583. When you read a directory, you'll open it with open and read it
  7584. with getdents(). When you open a file for reading, you'll use the
  7585. exact same open call. You cannot detect this error at open time.
  7586.  
  7587. Casper
  7588.  
  7589. Volume-Number: Volume 31, Number 83
  7590.  
  7591. From std-unix-request@uunet.UU.NET  Thu Jun 24 20:33:27 1993
  7592. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7593.     (5.61/UUNET-mail-drop) id AA29487; Thu, 24 Jun 93 20:33:27 -0400
  7594. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7595.     (5.61/UUNET-internet-primary) id AA07953; Thu, 24 Jun 93 20:33:13 -0400
  7596. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7597.     id AA23751; Thu, 24 Jun 93 17:33:12 PDT
  7598. Xref: majipoor.cygnus.com comp.std.unix:45
  7599. From: mib@geech.gnu.ai.mit.edu (Michael I Bushnell)
  7600. Newsgroups: comp.std.unix
  7601. Subject: Re: P1003.2 and the grep command
  7602. Organization: FOO
  7603. Sender: sef@rodan.uu.net
  7604. Message-Id: <20dg5pINNruv@rodan.UU.NET>
  7605. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20ac9sINN3eb@rodan.UU.NET>
  7606. Nntp-Posting-Host: rodan.uu.net
  7607. X-Submissions: std-unix@uunet.uu.net
  7608. Date: 24 Jun 1993 17:16:57 -0700
  7609. Reply-To: std-unix@uunet.uu.net
  7610. To: std-unix@uunet.UU.NET
  7611.  
  7612. Submitted-by: mib@geech.gnu.ai.mit.edu (Michael I Bushnell)
  7613.  
  7614. In article <20ac9sINN3eb@rodan.UU.NET> casper@fwi.uva.nl (Casper H.S. Dik) writes:
  7615. >No. NFS is not the culprit. You cannot detect this at open time.
  7616. >When you read a directory, you'll open it with open and read it
  7617. >with getdents(). When you open a file for reading, you'll use the
  7618. >exact same open call. You cannot detect this error at open time.
  7619.  
  7620. Hmm.  I suppose that makes sense.  I think the optimal solution is
  7621. simply to provide getdents, with a standard format, and say that read
  7622. on a directory gets you some filesystem-dependent raw format.  There
  7623. is no reason to have read return an error for directories at all.
  7624.  
  7625.  
  7626. --
  7627. +1 617 628 6197 (H)      |     Offer to God a sacrifice of thanksgiving
  7628. +1 617 253 8568 (W)     -+-      and make good your vows to the Most High.
  7629. 14 Paulina Street        |     Call upon me in the day of trouble;
  7630. Somerville, MA 02144     |       I will deliver you, and you shall honor me.
  7631.  
  7632.  
  7633. Volume-Number: Volume 31, Number 84
  7634.  
  7635. From std-unix-request@uunet.UU.NET  Thu Jun 24 20:45:59 1993
  7636. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7637.     (5.61/UUNET-mail-drop) id AA29948; Thu, 24 Jun 93 20:45:59 -0400
  7638. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7639.     (5.61/UUNET-internet-primary) id AA11810; Thu, 24 Jun 93 20:45:57 -0400
  7640. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7641.     id AA23979; Thu, 24 Jun 93 17:45:54 PDT
  7642. Xref: majipoor.cygnus.com comp.std.unix:46
  7643. From: jazz@hal.com (Jason Zions)
  7644. Newsgroups: comp.std.unix
  7645. Subject: Re: P1003.2 and the grep command
  7646. Organization: HaL Computer Systems
  7647. Sender: sef@rodan.uu.net
  7648. Message-Id: <20dgdfINNs6n@rodan.UU.NET>
  7649. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET>
  7650. X-Submissions: std-unix@uunet.uu.net
  7651. Date: 24 Jun 1993 17:21:03 -0700
  7652. Reply-To: std-unix@uunet.uu.net
  7653. To: std-unix@uunet.UU.NET
  7654.  
  7655. Submitted-by: jazz@hal.com (Jason Zions)
  7656.  
  7657. Regarding the question of 1003.2 "grep -s" supressing EISDIR for
  7658. NFS-accessible directories:
  7659.  
  7660. NOTE 1
  7661. Remember that 1003.2 does *not* assume its pieces are running on a 1003.1-
  7662. conforming system. While it's not a bad idea to reason about 1003.2 behavior
  7663. from the standpoint of implementations on 1003.1-conforming systems, keep in
  7664. mind that such reasoning is not guaranteed to be reflected in the standard.
  7665.  
  7666. NOTE 2
  7667. When reasoning about 1003.1-conforming systems, please remember that a sys-
  7668. tem which so much as hints at the existence of files or directories accessed
  7669. via NFS is no longer strictly-conforming, since accessing files over NFS
  7670. doesn't yield the exact set of semantics required by 1003.1.  If you really
  7671. need a strictly-conforming system, don't configure NFS into the kernel.
  7672.  
  7673. mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) writes:
  7674. >>The real lose here (surprise, surprise) is that NFS is the culprit
  7675. >>here.  The correct place for the EISDIR to be returned is to the open
  7676. >>call, not to the read.  Errors should not be returned from read and
  7677. >>write if they can be detected at open time and are thoroughly
  7678. >>non-transient.
  7679.  
  7680. According to 1003.1-1990, EISDIR is only returned when opening a directory
  7681. for write or read/write; the standard is silent concerning opening
  7682. directories with O_READONLY. It's bad enough that NFS breaks read() (see
  7683. below); breaking open() too would have been awful.
  7684.  
  7685. casper@fwi.uva.nl (Casper H.S. Dik) writes:
  7686. >No. NFS is not the culprit. You cannot detect this at open time.
  7687. >When you read a directory, you'll open it with open and read it
  7688. >with getdents(). When you open a file for reading, you'll use the
  7689. >exact same open call. You cannot detect this error at open time.
  7690.  
  7691. When you read a directory in POSIX, you open it with opendir() and read it
  7692. with readdir(). That's it; no open(), no getdents().
  7693.  
  7694. In this case NFS is indeed the culprit; it breaks the 1003.1 behavior of
  7695. allowing an application to read() from a directory. This restriction is
  7696. arbitrary; the NFS protocol itself allows it. Making read() fail on
  7697. NFS-accessed directories was a tool to catch programs that examined
  7698. directories using read() and assuming they knew what the actual structures
  7699. in the directory looked like. In a POSIX environment, this restriction is
  7700. unnecessary; conforming POSIX applications never try that, using the 1003.1
  7701. interfaces instead.
  7702.  
  7703. In fact, when 1003.8 (POSIX Transparent File Access) sees the light of
  7704. publicationand legitimizes NFS under POSIX (so to speak), this restriction
  7705. will *have* to go away if one wishes to claim ones implementation conforms
  7706. to 1003.8.  Strictly conforming applications don't try to read() directories
  7707. with the assumption that they're doing something equivalent to readdir(),
  7708. since the standard doesn't say they can; however, a strictly-conforming
  7709. application is allowed to read() a directory for any purpose.
  7710.  
  7711. In any event, I'd suspect that the spirit of 1003.2, interpreted with
  7712. respect to a 1003.1 implementation that also supports NFS files, would be
  7713. that "-s" would suppress EISDIR on a directory, since those implementations
  7714. really do place directories in the category of "You can't read this".
  7715.  
  7716. However, you should file a Request for Interpretation; contact the IEEE
  7717. Standards Department for specific instructions on how to do this. It's a
  7718. formal process; until you get an interpretation, anything you hear from
  7719. anyone, even the chair or tech editor of 1003.2, is mere opinion.
  7720.  
  7721. As usual, I am speaking as an individual technical expert, *not* as a
  7722. spokesperson for 1003.8, POSIX, PASC, IEEE-CS, IEEE, etc.
  7723.  
  7724. Jason Zions
  7725. Chair, 1003.8 POSIX Transparent File Access
  7726.  
  7727.  
  7728. Volume-Number: Volume 31, Number 85
  7729.  
  7730. From std-unix-request@uunet.UU.NET  Sat Jun 26 21:30:39 1993
  7731. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7732.     (5.61/UUNET-mail-drop) id AA03414; Sat, 26 Jun 93 21:30:39 -0400
  7733. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7734.     (5.61/UUNET-internet-primary) id AA23727; Sat, 26 Jun 93 21:30:38 -0400
  7735. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7736.     id AA18851; Sat, 26 Jun 93 18:30:37 PDT
  7737. Xref: majipoor.cygnus.com comp.std.unix:47
  7738. From: guy@auspex.com (Guy Harris)
  7739. Newsgroups: comp.std.unix
  7740. Subject: Re: P1003.2 and the grep command
  7741. Organization: Auspex Systems, Santa Clara
  7742. Sender: sef@rodan.uu.net
  7743. Message-Id: <20isj2INN32o@rodan.UU.NET>
  7744. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20dgdfINNs6n@rodan.uu.net>
  7745. Nntp-Posting-Host: rodan.uu.net
  7746. X-Submissions: std-unix@uunet.uu.net
  7747. Date: 26 Jun 1993 18:19:30 -0700
  7748. Reply-To: std-unix@uunet.uu.net
  7749. To: std-unix@uunet.UU.NET
  7750.  
  7751. Submitted-by: guy@auspex.com (Guy Harris)
  7752.  
  7753. >In this case NFS is indeed the culprit; it breaks the 1003.1 behavior of
  7754. >allowing an application to read() from a directory. This restriction is
  7755. >arbitrary; the NFS protocol itself allows it.
  7756.  
  7757. The NFS *protocol* may allow it; however, it may be a pain for some NFS
  7758. server to *implement* it (not all NFS servers run on top of UNIX; some
  7759. may run on top of OSes that make it a pain to get at the raw data in the
  7760. directory).
  7761.  
  7762. >In fact, when 1003.8 (POSIX Transparent File Access) sees the light of
  7763. >publicationand legitimizes NFS under POSIX (so to speak), this restriction
  7764. >will *have* to go away if one wishes to claim ones implementation conforms
  7765. >to 1003.8.  Strictly conforming applications don't try to read() directories
  7766. >with the assumption that they're doing something equivalent to readdir(),
  7767. >since the standard doesn't say they can; however, a strictly-conforming
  7768. >application is allowed to read() a directory for any purpose.
  7769.  
  7770. If 1003.8 refers to NFS at all, what will it say about the behavior of
  7771. file systems mounted from non-POSIX-compliant NFS servers?  I suspect
  7772. it'll have to say "you're on your own there, bucko", in which case
  7773. suppliers of those servers are free to reject attempts to read from
  7774. directories with the NFS READ request (rather than the NFS READDIR
  7775. request).
  7776.  
  7777. Note also that a strictly-conforming application cannot, of course,
  7778. assume that the data it reads from a directory will have any particular
  7779. format, unless you either 1) use #ifdefs for the different directory
  7780. formats on different file systems (and compensate for byte-order
  7781. problems as well), 2) wire knowledge of certain formats into the
  7782. application, or 3) make the application programmable enough that
  7783. programs written under it have that knowledge wired into them.
  7784.  
  7785. (I.e., I suspect the sum total of POSIX-system-programmer misery will be
  7786. increased infinitesimally, if it's increased at all, by just saying Thou
  7787. Shalt Not Try To "read()" From Directories, Lest Thou Get An Error From
  7788. "read()".
  7789.  
  7790. I also suspect that having NFS client implementations reject requests to
  7791. "read()" from directories will result in more broken programs - e.g.,
  7792. programs that don't use "opendir()", "readdir()", and company - being
  7793. caught and, hopefully, fixed.)
  7794.  
  7795.  
  7796. Volume-Number: Volume 31, Number 86
  7797.  
  7798. From std-unix-request@uunet.UU.NET  Sat Jun 26 21:30:41 1993
  7799. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7800.     (5.61/UUNET-mail-drop) id AA03422; Sat, 26 Jun 93 21:30:41 -0400
  7801. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7802.     (5.61/UUNET-internet-primary) id AA23733; Sat, 26 Jun 93 21:30:40 -0400
  7803. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7804.     id AA18857; Sat, 26 Jun 93 18:30:39 PDT
  7805. Xref: majipoor.cygnus.com comp.std.unix:48
  7806. From: lwv26@cas.org (Larry W. Virden)
  7807. Newsgroups: comp.std.unix
  7808. Subject: Re: P1003.2 and the grep command
  7809. Organization: Nedriv Software and Shoe Shiners, Uninc.
  7810. Sender: sef@rodan.uu.net
  7811. Message-Id: <20iskbINN34t@rodan.UU.NET>
  7812. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20dgdfINNs6n@rodan.uu.net>
  7813. Reply-To: lvirden@cas.org
  7814. Nntp-Posting-Host: rodan.uu.net
  7815. X-Submissions: std-unix@uunet.uu.net
  7816. Date: 26 Jun 1993 18:20:11 -0700
  7817. To: std-unix@uunet.UU.NET
  7818.  
  7819. Submitted-by: lwv26@cas.org (Larry W. Virden)
  7820.  
  7821. In <20dgdfINNs6n@rodan.uu.net> Jason Zions <jazz@hal.com> wrote:
  7822. >Strictly conforming applications don't try to read() directories
  7823. >with the assumption that they're doing something equivalent to readdir(),
  7824. >since the standard doesn't say they can; however, a strictly-conforming
  7825. >application is allowed to read() a directory for any purpose.
  7826.  
  7827. So an application needs to do a stat first and determine whether the file
  7828. type is one which is permitted to be read() before doing the reading?  Moving
  7829. back to the question of the grep -s - is it then permitted for grep to
  7830. be silent about the fact that one of the arbitrary character string arguments
  7831. is a directory that is being skipped?  Certainly it is permissible for grep
  7832. to be silent about the fact that one of said character strings does not exist,
  7833. or is not readable.
  7834.  
  7835. I guess someone will have to write up one of the interpretation requests.
  7836.  
  7837. -- 
  7838. :s 
  7839. :s Larry W. Virden                 INET: lvirden@cas.org
  7840. :s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
  7841.  
  7842.  
  7843. Volume-Number: Volume 31, Number 87
  7844.  
  7845. From std-unix-request@uunet.UU.NET  Mon Jun 28 18:17:16 1993
  7846. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7847.     (5.61/UUNET-mail-drop) id AA07338; Mon, 28 Jun 93 18:17:16 -0400
  7848. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7849.     (5.61/UUNET-internet-primary) id AA03770; Mon, 28 Jun 93 18:17:12 -0400
  7850. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7851.     id AA06782; Mon, 28 Jun 93 15:17:09 PDT
  7852. Xref: majipoor.cygnus.com comp.std.unix:49
  7853. From: jazz@hal.com (Jason Zions)
  7854. Newsgroups: comp.std.unix
  7855. Subject: Re: P1003.2 and the grep command
  7856. Organization: HaL Computer Systems
  7857. Sender: sef@rodan.uu.net
  7858. Message-Id: <20norfINN2f0@rodan.UU.NET>
  7859. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20isj2INN32o@rodan.UU.NET>
  7860. Nntp-Posting-Host: rodan.uu.net
  7861. X-Submissions: std-unix@uunet.uu.net
  7862. Date: 28 Jun 1993 14:46:23 -0700
  7863. Reply-To: std-unix@uunet.uu.net
  7864. To: std-unix@uunet.UU.NET
  7865.  
  7866. Submitted-by: jazz@hal.com (Jason Zions)
  7867.  
  7868. In article <20isj2INN32o@rodan.UU.NET> guy@auspex.com (Guy Harris) writes:
  7869. >If 1003.8 refers to NFS at all, what will it say about the behavior of
  7870. >file systems mounted from non-POSIX-compliant NFS servers?  I suspect
  7871. >it'll have to say "you're on your own there, bucko", in which case
  7872. >suppliers of those servers are free to reject attempts to read from
  7873. >directories with the NFS READ request (rather than the NFS READDIR
  7874. >request).
  7875.  
  7876. 1003.8 doesn't refer to particular mechanisms used to provide file access in
  7877. the normative standard; the informative annexes talk about how some of the
  7878. most common mechanisms appear to an application program when viewed through
  7879. the eyes of pathconf() and the new set of pathconf() variables that 1003.8
  7880. defines.
  7881.  
  7882. 1003.8 doesn't care about how the file access mechanism is implemented; NFS
  7883. implemented on Unix, FTAM implemented on VM/370, DCE DFS on tin cans and
  7884. string. It just talks about semantic behaviors applications may or may not
  7885. rely upon. An application can inquire if directories can be created below a
  7886. certain path; if device files can be created within a particular path; if
  7887. can application is guaranteed to retain access to a file it has opened even
  7888. if some other process (or itself) unlink()s it; that kind of thing. The
  7889. implementation has to arrange for pathconf() and fpathconf() to return
  7890. correct answers to these questions based on the actual behavior of the
  7891. implementation. The "NFS" annex contains the answers that a typical NFS
  7892. implementation returns, but there's no requirement that any actual
  7893. implementation return those answers.
  7894.  
  7895. >Note also that a strictly-conforming application cannot, of course,
  7896. >assume that the data it reads from a directory will have any particular
  7897. >format
  7898.  
  7899. Quite true, but within the context of the 1003.1 standard, besides the
  7900. point.
  7901.  
  7902. >(I.e., I suspect the sum total of POSIX-system-programmer misery will be
  7903. >increased infinitesimally, if it's increased at all, by just saying Thou
  7904. >Shalt Not Try To "read()" From Directories, Lest Thou Get An Error From
  7905. >"read()".
  7906.  
  7907. Perhaps, but I don't know that anyone has tried to make such a change.
  7908.  
  7909. >I also suspect that having NFS client implementations reject requests to
  7910. >"read()" from directories will result in more broken programs - e.g.,
  7911. >programs that don't use "opendir()", "readdir()", and company - being
  7912. >caught and, hopefully, fixed.)
  7913.  
  7914. NFS client implementations already do this, and just about all the
  7915. applications worth catching are already caught. An application that doesn't
  7916. use opendir() et al for reading directories is already outside the scope of
  7917. POSIX, so the standard should not (and in fact does not) worry about them.
  7918. It would be nice if NFS client implementations diverged as little as
  7919. possible from POSIX.
  7920.  
  7921. (Unfortunately, or fortunately, the current draft of 1003.8 does not provide
  7922. a way for an application to inquire if read() is permitted on directories;
  7923. because of the way 1003.8 is structured, this directly implies that the
  7924. behavior in question must be that of 1003.1 for the implementation to
  7925. conform.)
  7926.  
  7927. Jason Zions
  7928. As usual, speaking solely as an individual technical expert
  7929.  
  7930.  
  7931. Volume-Number: Volume 31, Number 88
  7932.  
  7933. From std-unix-request@uunet.UU.NET  Mon Jun 28 18:17:23 1993
  7934. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7935.     (5.61/UUNET-mail-drop) id AA07368; Mon, 28 Jun 93 18:17:23 -0400
  7936. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7937.     (5.61/UUNET-internet-primary) id AA03858; Mon, 28 Jun 93 18:17:22 -0400
  7938. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7939.     id AA06817; Mon, 28 Jun 93 15:17:20 PDT
  7940. Xref: majipoor.cygnus.com comp.std.unix:50
  7941. From: jazz@hal.com (Jason Zions)
  7942. Newsgroups: comp.std.unix
  7943. Subject: Re: P1003.2 and the grep command
  7944. Organization: HaL Computer Systems
  7945. Sender: sef@rodan.uu.net
  7946. Message-Id: <20notfINN2in@rodan.UU.NET>
  7947. References: <207f29INNge@rodan.UU.NET> <20859nINN6dj@rodan.UU.NET> <20iskbINN34t@rodan.UU.NET>
  7948. Nntp-Posting-Host: rodan.uu.net
  7949. X-Submissions: std-unix@uunet.uu.net
  7950. Date: 28 Jun 1993 14:47:27 -0700
  7951. Reply-To: std-unix@uunet.uu.net
  7952. To: std-unix@uunet.UU.NET
  7953.  
  7954. Submitted-by: jazz@hal.com (Jason Zions)
  7955.  
  7956. In article <20iskbINN34t@rodan.UU.NET> lwv26@cas.org (Larry W. Virden) writes:
  7957. >>Strictly conforming applications don't try to read() directories
  7958. >>with the assumption that they're doing something equivalent to readdir(),
  7959. >>since the standard doesn't say they can; however, a strictly-conforming
  7960. >>application is allowed to read() a directory for any purpose.
  7961. >
  7962. >So an application needs to do a stat first and determine whether the file
  7963. >type is one which is permitted to be read() before doing the reading?
  7964.  
  7965. No. According to 1003.1, *all* file types may be read(). It's only when you
  7966. add NFS and try to access files over NFS that the standard becomes
  7967. irrelevant, and can detect whatever it wants to however it wants to (wait
  7968. for read() to fail with EISDIR or stat() before open()).
  7969.  
  7970. >  Moving
  7971. >back to the question of the grep -s - is it then permitted for grep to
  7972. >be silent about the fact that one of the arbitrary character string arguments
  7973. >is a directory that is being skipped?
  7974.  
  7975. I think so, but this is just my opinion.
  7976.  
  7977. >I guess someone will have to write up one of the interpretation requests.
  7978.  
  7979. That's the only way to get a definitive answer. In the interp request, be
  7980. sure to point out that the system in question is not 1003.1-conforming, and
  7981. that the system prohibits read() of a directory.
  7982.  
  7983. Jason Zions
  7984. Not an official opinion of any entity other than the author
  7985.  
  7986.  
  7987. Volume-Number: Volume 31, Number 89
  7988.  
  7989. From std-unix-request@uunet.UU.NET  Mon Jun 28 18:17:37 1993
  7990. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  7991.     (5.61/UUNET-mail-drop) id AA07408; Mon, 28 Jun 93 18:17:37 -0400
  7992. Received: from cygnus.com by relay1.UU.NET with SMTP 
  7993.     (5.61/UUNET-internet-primary) id AA03914; Mon, 28 Jun 93 18:17:34 -0400
  7994. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  7995.     id AA06823; Mon, 28 Jun 93 15:17:26 PDT
  7996. Xref: majipoor.cygnus.com comp.std.unix:51
  7997. From: ghica@fig.citib.com (Renato Ghica)
  7998. Newsgroups: comp.std.unix
  7999. Subject: POSIX sources
  8000. Organization: Citibank IBISM
  8001. Sender: sef@rodan.uu.net
  8002. Message-Id: <20nouoINN2kr@rodan.UU.NET>
  8003. Nntp-Posting-Host: rodan.uu.net
  8004. X-Submissions: std-unix@uunet.uu.net
  8005. Date: 28 Jun 1993 14:48:08 -0700
  8006. Reply-To: std-unix@uunet.uu.net
  8007. To: std-unix@uunet.UU.NET
  8008.  
  8009. Submitted-by: ghica@fig.citib.com (Renato Ghica)
  8010.  
  8011. are the POSIX sources available to the general public?
  8012.  
  8013. I'm in need to re-implement the catalog functions (catopen, catclose,
  8014. catgets, etc ..) since the vendor-specific implementation does not
  8015. seem to work properly.
  8016.  
  8017. I'm hoping that there might be an FTP site or something...just 
  8018. wishful thinking, maybe.....
  8019.  
  8020. thanks
  8021.  
  8022.  
  8023. -rg
  8024.  
  8025. Volume-Number: Volume 31, Number 90
  8026.  
  8027. From std-unix-request@uunet.UU.NET  Mon Jun 28 18:17:36 1993
  8028. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8029.     (5.61/UUNET-mail-drop) id AA07403; Mon, 28 Jun 93 18:17:36 -0400
  8030. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8031.     (5.61/UUNET-internet-primary) id AA03907; Mon, 28 Jun 93 18:17:33 -0400
  8032. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8033.     id AA06829; Mon, 28 Jun 93 15:17:31 PDT
  8034. Xref: majipoor.cygnus.com comp.std.unix:52
  8035. From: gwyn@smoke.brl.mil (Doug Gwyn)
  8036. Newsgroups: comp.std.unix
  8037. Subject: Re: P1003.2 and the grep command
  8038. Organization: U.S. Army Ballistic Research Lab, APG MD.
  8039. Sender: sef@rodan.uu.net
  8040. Message-Id: <20novqINN2oh@rodan.UU.NET>
  8041. References: <20859nINN6dj@rodan.UU.NET> <20a3eqINNfog@rodan.UU.NET> <20ac9sINN3eb@rodan.UU.NET>
  8042. Nntp-Posting-Host: rodan.uu.net
  8043. X-Submissions: std-unix@uunet.uu.net
  8044. Date: 28 Jun 1993 14:48:42 -0700
  8045. Reply-To: std-unix@uunet.uu.net
  8046. To: std-unix@uunet.UU.NET
  8047.  
  8048. Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
  8049.  
  8050. In article <20ac9sINN3eb@rodan.UU.NET> casper@fwi.uva.nl (Casper H.S. Dik) writes:
  8051. >No. NFS is not the culprit. You cannot detect this at open time.
  8052. >When you read a directory, you'll open it with open and read it
  8053. >with getdents().
  8054.  
  8055. Seems to me the REAL culprit is the provision of multiple forms of
  8056. the "read" function when one would do.  Reading a directory object
  8057. could, for example, return one new-line terminated record in ls -l
  8058. format per read() invocation.
  8059.  
  8060.  
  8061. Volume-Number: Volume 31, Number 91
  8062.  
  8063. From std-unix-request@uunet.UU.NET  Tue Jun 29 15:33:52 1993
  8064. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8065.     (5.61/UUNET-mail-drop) id AA25280; Tue, 29 Jun 93 15:33:52 -0400
  8066. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8067.     (5.61/UUNET-internet-primary) id AA18440; Tue, 29 Jun 93 15:33:44 -0400
  8068. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8069.     id AA15032; Tue, 29 Jun 93 12:33:39 PDT
  8070. Xref: majipoor.cygnus.com comp.std.unix:53
  8071. From: nick@usenix.org (Nicholas M. Stoughton)
  8072. Newsgroups: comp.std.unix
  8073. Subject: Standards Update, POSIX.22: POSIX Security Framework
  8074. Organization: USENIX Standards Report Editor
  8075. Sender: sef@rodan.uu.net
  8076. Message-Id: <20q408INNlqf@rodan.UU.NET>
  8077. Reply-To: std-unix@uunet.uu.net
  8078. Nntp-Posting-Host: rodan.uu.net
  8079. X-Submissions: std-unix@uunet.uu.net
  8080. Date: 29 Jun 1993 12:08:56 -0700
  8081. To: std-unix@uunet.UU.NET
  8082.  
  8083. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  8084.  
  8085.                USENIX Standards Report Editor
  8086.  
  8087.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  8088.  
  8089.  
  8090. POSIX.22: POSIX Security Framework
  8091.  
  8092.  
  8093. David Rogers <drogers@datlog.co.uk> reports on the April
  8094. 19-23, 1993 meeting in Irvine, Ca.:
  8095.  
  8096. At the January meeting the Portable Applications Standards
  8097. Committee (PASC) approved the Project Authorization Request
  8098. (PAR) for POSIX.22 to produce ``A Guide to the POSIX Open
  8099. Systems Environment - A Security Framework''
  8100.  
  8101. This work has been assigned as a subgroup of POSIX.6
  8102. Security Working Group.
  8103.  
  8104. The objective is to complete the work started by the
  8105. Distributed Security Study group and define a framework for
  8106. security within POSIX. This is intended to bring together
  8107. the concepts of security as system service enhancements, as
  8108. currently addressed by POSIX.6, and as security services in
  8109. a distributed environment in a single description of
  8110. security.
  8111.  
  8112. The work will produce a document that it is planned will
  8113. eventually be included in a future version of POSIX.0. It is
  8114. also intended to provide POSIX.6 with an aid to identifying
  8115. and planning future work.
  8116.  
  8117. The April meeting discussed the general concepts of the
  8118. framework in terms of the concepts of security domains as
  8119. outlined in the White Paper released by the Distributed
  8120. Security Study Group last year.
  8121.  
  8122. The July meeting will be considering the representation of
  8123. security within the POSIX.0 model, and a joint meeting with
  8124. POSIX.0 has been arranged to facilitate this. In addition, a
  8125. proposal on a method for assessing the impact of security on
  8126. existing APIs will be discussed.
  8127.  
  8128.  
  8129.  
  8130.  
  8131.  
  8132.  
  8133.  
  8134.  
  8135.  
  8136.  
  8137.  
  8138.  
  8139.  
  8140.  
  8141.  
  8142.  
  8143.  
  8144.  
  8145.  
  8146.  
  8147.  
  8148.  
  8149. Volume-Number: Volume 31, Number 92
  8150.  
  8151. From std-unix-request@uunet.UU.NET  Wed Jun 30 18:45:58 1993
  8152. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8153.     (5.61/UUNET-mail-drop) id AA07194; Wed, 30 Jun 93 18:45:58 -0400
  8154. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8155.     (5.61/UUNET-internet-primary) id AA00814; Wed, 30 Jun 93 18:45:57 -0400
  8156. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8157.     id AA23442; Wed, 30 Jun 93 15:45:35 PDT
  8158. Xref: majipoor.cygnus.com comp.std.unix:54
  8159. From: ericb@sierra.com (Eric Blood)
  8160. Newsgroups: comp.std.unix
  8161. Subject: pathconf()/errno question
  8162. Organization: Sierra Geophysics Inc.,  Kirkland, Wa
  8163. Sender: sef@rodan.uu.net
  8164. Message-Id: <20t4bcINN5jb@rodan.UU.NET>
  8165. Nntp-Posting-Host: rodan.uu.net
  8166. X-Submissions: std-unix@uunet.uu.net
  8167. Date: 30 Jun 1993 15:33:16 -0700
  8168. Reply-To: std-unix@uunet.uu.net
  8169. To: std-unix@uunet.UU.NET
  8170.  
  8171. Submitted-by: ericb@sierra.com (Eric Blood)
  8172.  
  8173. After going over pathconf(), I need something clarified.
  8174.  
  8175. In the Posix 1003.1 (90) document the return for pathconf is
  8176. documented as follows:
  8177.  
  8178. "If 'name' is an invalid value, the pathconf() and fpathconf() functions
  8179. shall return -1.
  8180.  
  8181. "If the variable corresponding to 'name' has no limit for that path or
  8182. file descriptor, the pathconf() and fpathconf() functions shall return
  8183. -1 without changing errno."
  8184.  
  8185. I have always gone on the assumption that you are never supposed to
  8186. set errno.  However, if it is allowed, then pathconf() could be used
  8187. as defined.  For example:
  8188.  
  8189. ...
  8190. errno = 0;
  8191. if ((foo = pathconf("/tmp/bar", _PC_LINK_MAX)) < 0) {
  8192.   if (errno == 0) {
  8193.     ... /* No limit */
  8194.   } else {
  8195.     ... /* Invalid argument */
  8196.   }
  8197. } else {
  8198.   ... /* foo contains a valid limit */
  8199. }
  8200. ...
  8201.  
  8202. The documentation for errno (in the same document) is as follows:
  8203.  
  8204. "The value of this variable ['errno'] shall be defined only after a
  8205. call to a function for which it is explicitly stated to be set and
  8206. until it is changed by the next function call.  The variable 'errno'
  8207. should only be examined when it is indicated to be valid by a
  8208. function's return value.  No function defined in this part of ISO/IEC
  8209. 9945 sets errno to zero to indicate an error."
  8210.  
  8211. Does this mean I'm allowed to set the errno variable or not?  If I'm
  8212. able to, then I can use the example code with pathconf().  Otherwise,
  8213. what should I do?
  8214.  
  8215. -- 
  8216. Eric V. Blood
  8217. ericb@sierra.com
  8218.  
  8219.  
  8220. Volume-Number: Volume 31, Number 93
  8221.  
  8222. From std-unix-request@uunet.UU.NET  Thu Jul  1 01:16:27 1993
  8223. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8224.     (5.61/UUNET-mail-drop) id AA19024; Thu, 1 Jul 93 01:16:27 -0400
  8225. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8226.     (5.61/UUNET-internet-primary) id AA07722; Thu, 1 Jul 93 01:16:25 -0400
  8227. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8228.     id AA02207; Wed, 30 Jun 93 22:16:24 PDT
  8229. Xref: majipoor.cygnus.com comp.std.unix:55
  8230. From: mib@geech.gnu.ai.mit.edu (Michael I Bushnell)
  8231. Newsgroups: comp.std.unix
  8232. Subject: Re: pathconf()/errno question
  8233. Organization: FOO
  8234. Sender: sef@rodan.uu.net
  8235. Message-Id: <20tr6eINNb9q@rodan.UU.NET>
  8236. References: <20t4bcINN5jb@rodan.UU.NET>
  8237. Nntp-Posting-Host: rodan.uu.net
  8238. X-Submissions: std-unix@uunet.uu.net
  8239. Date: 30 Jun 1993 22:03:10 -0700
  8240. Reply-To: std-unix@uunet.uu.net
  8241. To: std-unix@uunet.UU.NET
  8242.  
  8243. Submitted-by: mib@geech.gnu.ai.mit.edu (Michael I Bushnell)
  8244.  
  8245. In article <20t4bcINN5jb@rodan.UU.NET> ericb@sierra.com (Eric Blood) writes:
  8246. >The documentation for errno (in the same document) is as follows:
  8247. >
  8248. >"The value of this variable ['errno'] shall be defined only after a
  8249. >call to a function for which it is explicitly stated to be set and
  8250. >until it is changed by the next function call.  The variable 'errno'
  8251. >should only be examined when it is indicated to be valid by a
  8252. >function's return value.  No function defined in this part of ISO/IEC
  8253. >9945 sets errno to zero to indicate an error."
  8254. >
  8255. >Does this mean I'm allowed to set the errno variable or not?  If I'm
  8256. >able to, then I can use the example code with pathconf().  Otherwise,
  8257. >what should I do?
  8258.  
  8259. Pedantic answer:
  8260.  
  8261. You have to call a function that will set errno to zero (something
  8262. like `kill (getpid (), 0)', and then immediately call pathconf.
  8263. Pathconf documents that it might or might not set errno, so now you
  8264. can look at it.
  8265.  
  8266. Real answer: 
  8267.  
  8268. You have to set errno anyway to write a correct signal handler;
  8269. therefore it's OK to set it here.
  8270.  
  8271.     -mib
  8272. --
  8273. +1 617 628 6197 (H)      |     Offer to God a sacrifice of thanksgiving
  8274. +1 617 253 8568 (W)     -+-      and make good your vows to the Most High.
  8275. 14 Paulina Street        |     Call upon me in the day of trouble;
  8276. Somerville, MA 02144     |       I will deliver you, and you shall honor me.
  8277.  
  8278.  
  8279. Volume-Number: Volume 31, Number 94
  8280.  
  8281. From std-unix-request@uunet.UU.NET  Thu Jul  1 21:57:08 1993
  8282. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8283.     (5.61/UUNET-mail-drop) id AA21166; Thu, 1 Jul 93 21:57:08 -0400
  8284. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8285.     (5.61/UUNET-internet-primary) id AA02173; Thu, 1 Jul 93 21:57:05 -0400
  8286. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8287.     id AA07422; Thu, 1 Jul 93 18:57:02 PDT
  8288. Xref: majipoor.cygnus.com comp.std.unix:56
  8289. From: durst@mwunix.mitre.org (Robert Durst)
  8290. Newsgroups: comp.std.unix
  8291. Subject: POSIX Ballot pool forming for Sockets and XTI
  8292. Organization: The MITRE Corporation
  8293. Sender: sef@rodan.uu.net
  8294. Message-Id: <2103vhINNk8c@rodan.UU.NET>
  8295. Nntp-Posting-Host: rodan.uu.net
  8296. Summary: Reply to this message to receive invitation to ballot on IEEE P1003.121
  8297. Keywords: IEEE P1003.12 Sockets XTI standard POSIX
  8298. X-Submissions: std-unix@uunet.uu.net
  8299. Date: 1 Jul 1993 18:45:21 -0700
  8300. Reply-To: std-unix@uunet.uu.net
  8301. To: std-unix@uunet.UU.NET
  8302.  
  8303. Submitted-by: durst@mwunix.mitre.org (Robert Durst)
  8304.  
  8305. To Whom It May Concern:
  8306.  
  8307. The POSIX P1003.12  group is defining a protocol-independent 
  8308. Application Program Interface for process-to-process 
  8309. communication.  POSIX requires its standards to be based on 
  8310. existing practice, and two C-language interfaces are being 
  8311. standardized by P1003.12.  One is the X/Open Transport 
  8312. Interface (XTI), and the other is the Sockets interface.  The 
  8313. group has defined a language-independent specification to 
  8314. which both C-language bindings conform, and this enables the 
  8315. two bindings to be presented  within a common framework.  
  8316. Additionally, the group anticipates that non-C-language 
  8317. bindings would be developed in  accordance with this 
  8318. language-independent specification.
  8319.  
  8320. The group intends to ballot its draft standard in the 
  8321. September 1993 time frame.
  8322.  
  8323. It is to everyone's benefit that these APIs are incorporated  
  8324. into POSIX.  Your help is  requested to ensure that they are 
  8325. incorporated correctly.  You can provide this help by joining 
  8326. the ballot group and balloting on the standard.
  8327.  
  8328. If you are a sockets user or implementor, you should be aware 
  8329. that a significant amount of semantic information has been 
  8330. extracted from the Berkeley reference implementation for 
  8331. incorporation into the specification.  This material should 
  8332. be reviewed thoroughly.  If you are an XTI expert, the text 
  8333. in the P1003.12 draft is essentially that of the XTI CAE 
  8334. specification.  As the draft goes through the IEEE balloting 
  8335. process, changes will certainly be requested.  The presence 
  8336. of both Sockets experts and XTI experts in the ballot pool is 
  8337. essential if these requests are to be handled properly.  
  8338.  
  8339. Membership in the P1003.12 ballot pool is by invitation.  IF 
  8340. YOU WISH TO RECEIVE AN INVITATION  to join the P1003.12 
  8341. ballot pool, either you must already receive POSIX 
  8342. invitations to ballot on draft standards or you must REPLY TO 
  8343. THIS MESSAGE so I can make sure you get an invitation.  Once 
  8344. the ballot pool is formed, it is fixed and cannot be added 
  8345. to, so reply now.
  8346.  
  8347. You DO NOT have to be a member of IEEE to ballot on this 
  8348. draft standard, however, you must be a member in order to 
  8349. vote "yes."  Non-IEEE members are considered parties of 
  8350. interest, and if objections are raised by parties of 
  8351. interest, we will give them due consideration.  
  8352.  
  8353. THERE IS A FEE charged by the IEEE to cover the initial 
  8354. distribution of the document and all subsequent 
  8355. recirculations.  The document is currently about 400 pages 
  8356. long, and we expect the fee to be approximately $50.
  8357.  
  8358. In order to receive an invitation to ballot on IEEE P1003.12, 
  8359. reply to this message with your name, address, phone number, 
  8360. fax number, email address, and IEEE membership  number (if 
  8361. applicable).  
  8362.  
  8363.  
  8364. Regards,
  8365.  
  8366. Robert C. Durst
  8367. Chairman, IEEE P1003.12
  8368. durst@mitre.org
  8369.  
  8370.  
  8371. Volume-Number: Volume 31, Number 96
  8372.  
  8373. From std-unix-request@uunet.UU.NET  Thu Jul  1 21:57:16 1993
  8374. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8375.     (5.61/UUNET-mail-drop) id AA21175; Thu, 1 Jul 93 21:57:16 -0400
  8376. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8377.     (5.61/UUNET-internet-primary) id AA02218; Thu, 1 Jul 93 21:57:12 -0400
  8378. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8379.     id AA07428; Thu, 1 Jul 93 18:57:07 PDT
  8380. Xref: majipoor.cygnus.com comp.std.unix:57
  8381. From: karish@mindcraft.com (Chuck Karish)
  8382. Newsgroups: comp.std.unix
  8383. Subject: Re: pathconf()/errno question
  8384. Organization: Kithrup Enterprises, Ltd.
  8385. Sender: sef@rodan.uu.net
  8386. Message-Id: <2103ttINNk68@rodan.UU.NET>
  8387. Nntp-Posting-Host: rodan.uu.net
  8388. X-Submissions: std-unix@uunet.uu.net
  8389. Date: 1 Jul 1993 18:44:29 -0700
  8390. Reply-To: std-unix@uunet.uu.net
  8391. To: std-unix@uunet.UU.NET
  8392.  
  8393. Submitted-by: karish@mindcraft.com (Chuck Karish)
  8394.  
  8395. From mib@geech.gnu.ai.mit.edu (Michael I Bushnell):
  8396. >>Does this mean I'm allowed to set the errno variable or not?  If I'm
  8397. >>able to, then I can use the example code with pathconf().  Otherwise,
  8398. >>what should I do?
  8399. >Pedantic answer:
  8400. >You have to call a function that will set errno to zero (something
  8401. >like `kill (getpid (), 0)', and then immediately call pathconf.
  8402. >Pathconf documents that it might or might not set errno, so now you
  8403. >can look at it.
  8404.  
  8405. This is wrong.  POSIX.1 does not require that any interface
  8406. ever set errno to zero.  The quoted text above prohibits
  8407. setting errno to zero on an error.  The UNIX and POSIX.1
  8408. implementations I'm familiar do not touch errno at all
  8409. unless there's an error.
  8410.  
  8411. >Real answer: 
  8412. >You have to set errno anyway to write a correct signal handler;
  8413. >therefore it's OK to set it here.
  8414.  
  8415. The example code will work fine.  The programmer is allowed to
  8416. change errno; it's just an int, after all.  The only restriction
  8417. is that errno does not have a special meaning unless the system
  8418. has detected and reported an error.
  8419.  
  8420. Note that the rules will be different for systems that support
  8421. multi-threaded processes, because errno may have to be a
  8422. function instead of an integral type.
  8423.  
  8424. Chuck Karish        karish@mindcraft.com
  8425. Mindcraft, Inc.     (415) 323-9000 x117
  8426.  
  8427. Volume-Number: Volume 31, Number 95
  8428.  
  8429. From std-unix-request@uunet.UU.NET  Fri Jul  2 14:12:18 1993
  8430. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8431.     (5.61/UUNET-mail-drop) id AA21893; Fri, 2 Jul 93 14:12:18 -0400
  8432. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8433.     (5.61/UUNET-internet-primary) id AA00701; Fri, 2 Jul 93 14:12:11 -0400
  8434. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8435.     id AA06426; Fri, 2 Jul 93 11:12:07 PDT
  8436. Xref: majipoor.cygnus.com comp.std.unix:58
  8437. From: willcox@urbana.mcd.mot.com (David A Willcox)
  8438. Newsgroups: comp.std.unix
  8439. Subject: Re: pathconf()/errno question
  8440. Organization: Motorola Computer Group, Urbana Design Center
  8441. Sender: sef@rodan.uu.net
  8442. Message-Id: <211sk1INNj74@rodan.UU.NET>
  8443. References: <2103ttINNk68@rodan.UU.NET>
  8444. Nntp-Posting-Host: rodan.uu.net
  8445. X-Submissions: std-unix@uunet.uu.net
  8446. Date: 2 Jul 1993 10:52:01 -0700
  8447. Reply-To: std-unix@uunet.uu.net
  8448. To: std-unix@uunet.UU.NET
  8449.  
  8450. Submitted-by: willcox@urbana.mcd.mot.com (David A Willcox)
  8451.  
  8452. karish@mindcraft.com (Chuck Karish) writes:
  8453. >Note that the rules will be different for systems that support
  8454. >multi-threaded processes, because errno may have to be a
  8455. >function instead of an integral type.
  8456.  
  8457. No, not really.  POSIX.4a (pthreads) has the same requirement for
  8458. errno as ANSI C, relaxing a bit the requirement that's in POSIX.1.
  8459. POSIX.1 says that errno must be specifically "extern int errno;"
  8460. POSIX.4a and ANSI C only require errno to be "a modifiable lvalue that
  8461. has type int."  The following both satisfy POSIX.4a and ANSI C, and are
  8462. just fine for threads:
  8463.  
  8464.     #define errno (*__errno)
  8465.     extern int *__errno;
  8466.  
  8467.     #define errno (*__errno())
  8468.     extern int (*__errno())
  8469.  
  8470. The following is NOT fine; it would violate ANSI C:
  8471.  
  8472.     #define errno __errno()
  8473.  
  8474. David A. Willcox        "Just say 'NO' to universal drug testing"
  8475. Motorola MCG - Urbana        UUCP: ...!uiucuxc!udc!willcox
  8476. 1101 E. University Ave.        INET: willcox@urbana.mcd.mot.com
  8477. Urbana, IL 61801        FONE: 217-384-8534
  8478.  
  8479.  
  8480. Volume-Number: Volume 31, Number 97
  8481.  
  8482. From std-unix-request@uunet.UU.NET  Fri Jul  2 17:56:45 1993
  8483. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8484.     (5.61/UUNET-mail-drop) id AA22254; Fri, 2 Jul 93 17:56:45 -0400
  8485. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8486.     (5.61/UUNET-internet-primary) id AA20765; Fri, 2 Jul 93 17:56:44 -0400
  8487. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8488.     id AA21280; Fri, 2 Jul 93 14:56:43 PDT
  8489. Xref: majipoor.cygnus.com comp.std.unix:59
  8490. From: ddm26@cas.org (De Mickey)
  8491. Newsgroups: comp.std.unix
  8492. Subject: Re: pathconf()/errno question
  8493. Organization: Chemical Abstracts Service, Columbus, Ohio
  8494. Sender: sef@rodan.uu.net
  8495. Message-Id: <212aaeINNl49@rodan.UU.NET>
  8496. References: <2103ttINNk68@rodan.UU.NET> <211sk1INNj74@rodan.UU.NET>
  8497. Nntp-Posting-Host: rodan.uu.net
  8498. Summary: ANSI C requires a writable errno as well
  8499. Keywords: errno pathconf strtod strtol strtoul
  8500. X-Submissions: std-unix@uunet.uu.net
  8501. Date: 2 Jul 1993 14:45:50 -0700
  8502. Reply-To: std-unix@uunet.uu.net
  8503. To: std-unix@uunet.UU.NET
  8504.  
  8505. Submitted-by: ddm26@cas.org (De Mickey)
  8506.  
  8507. From previous discussion, it appears that POSIX.1 (in
  8508. effect) requires that applications set errno to zero in
  8509. order to fully test pathconf() return codes.
  8510.  
  8511. I just wanted to point out that the ANSI C has a few
  8512. routines with a similar requirement.  strtod(), strtol()
  8513. and strtoul() all set errno to ERANGE if the result of the
  8514. conversion overflows, underflows, or is not representable.
  8515. However, the function return value can look valid (e.g.
  8516. zero), so the application must set errno to zero before the
  8517. call, and then test errno afterwards, if it wants to be sure
  8518. the conversion was successful.
  8519.  
  8520.     errno = 0;
  8521.     dbl = strtod(ptr, &endptr);
  8522.     if (errno != 0) {
  8523.        /* complain to someone */
  8524.     }
  8525.  
  8526. -- 
  8527. De Mickey   Chemical Abstracts Service |
  8528. ddm26@cas.org    osu-cis!chemabs!ddm26 |
  8529.  
  8530.  
  8531. Volume-Number: Volume 31, Number 98
  8532.  
  8533. From std-unix-request@uunet.UU.NET  Tue Jul  6 16:41:10 1993
  8534. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8535.     (5.61/UUNET-mail-drop) id AA06591; Tue, 6 Jul 93 16:41:10 -0400
  8536. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8537.     (5.61/UUNET-internet-primary) id AA18254; Tue, 6 Jul 93 16:41:00 -0400
  8538. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8539.     id AA14930; Tue, 6 Jul 93 13:40:57 PDT
  8540. Xref: majipoor.cygnus.com comp.std.unix:61
  8541. From: gwc@root.co.uk (Geoff Clare)
  8542. Newsgroups: comp.std.unix
  8543. Subject: Re: pathconf()/errno question
  8544. Organization: UniSoft Ltd., London, England
  8545. Sender: sef@rodan.uu.net
  8546. Message-Id: <21cn1mINN4a1@rodan.UU.NET>
  8547. References: <2103ttINNk68@rodan.UU.NET> <211sk1INNj74@rodan.UU.NET> <212aaeINNl49@rodan.UU.NET>
  8548. Nntp-Posting-Host: rodan.uu.net
  8549. Keywords: errno pathconf strtod strtol strtoul
  8550. X-Submissions: std-unix@uunet.uu.net
  8551. Date: 6 Jul 1993 13:24:22 -0700
  8552. Reply-To: std-unix@uunet.uu.net
  8553. To: std-unix@uunet.UU.NET
  8554.  
  8555. Submitted-by: gwc@root.co.uk (Geoff Clare)
  8556.  
  8557. In <212aaeINNl49@rodan.UU.NET> ddm26@cas.org (De Mickey) writes:
  8558. >However, the function return value can look valid (e.g.
  8559. >zero), so the application must set errno to zero before the
  8560. >call, and then test errno afterwards, if it wants to be sure
  8561. >the conversion was successful.
  8562.  
  8563. >    errno = 0;
  8564. >    dbl = strtod(ptr, &endptr);
  8565. >    if (errno != 0) {
  8566. >       /* complain to someone */
  8567. >    }
  8568.  
  8569. Although this example is probably safe, in general you should only ever
  8570. examine errno if the function return value indicates that it safe to
  8571. do so.  This is because POSIX allows functions to set errno to a non-zero
  8572. value when they succeed (the classic example is errno being set to ENOTTY
  8573. by stdio functions).
  8574.  
  8575. So in the case of pathconf(), which started this thread, instead of
  8576.  
  8577.     errno = 0;
  8578.     longval = pathconf(file, _PC_WHATEVER);
  8579.     if (errno != 0) {
  8580.        /* complain to someone */
  8581.     }
  8582.  
  8583. you should use
  8584.  
  8585.     errno = 0;
  8586.     longval = pathconf(file, _PC_WHATEVER);
  8587.     if (longval == -1 && errno != 0) {
  8588.        /* complain to someone */
  8589.     }
  8590.  
  8591. -- 
  8592. Geoff Clare <gwc@root.co.uk> (USA antiquated mailers: ...!uunet!root.co.uk!gwc)
  8593. UniSoft Limited, London, England.   Tel: +44 71 729 3773   Fax: +44 71 729 3273
  8594.  
  8595.  
  8596. Volume-Number: Volume 31, Number 100
  8597.  
  8598. From std-unix-request@uunet.UU.NET  Tue Jul  6 16:41:11 1993
  8599. Received: from relay1.UU.NET by rodan.UU.NET with SMTP 
  8600.     (5.61/UUNET-mail-drop) id AA06592; Tue, 6 Jul 93 16:41:11 -0400
  8601. Received: from cygnus.com by relay1.UU.NET with SMTP 
  8602.     (5.61/UUNET-internet-primary) id AA18245; Tue, 6 Jul 93 16:40:58 -0400
  8603. Received: from majipoor.cygnus.com by cygnus.com (4.1/SMI-4.1)
  8604.     id AA14924; Tue, 6 Jul 93 13:40:55 PDT
  8605. Xref: majipoor.cygnus.com comp.std.unix:60
  8606. From: jbowyer@cis.vutbr.cz (Bowyer Jeff)
  8607. Newsgroups: comp.std.unix
  8608. Subject: International Software
  8609. Organization: Technical University of Brno, Czech Republic
  8610. Sender: sef@rodan.uu.net
  8611. Message-Id: <21cmvjINN46v@rodan.UU.NET>
  8612. Reply-To: jbowyer@cis.vutbr.cz
  8613. Nntp-Posting-Host: rodan.uu.net
  8614. X-Submissions: std-unix@uunet.uu.net
  8615. Date: 6 Jul 1993 13:23:15 -0700
  8616. To: std-unix@uunet.UU.NET
  8617.  
  8618. Submitted-by: jbowyer@cis.vutbr.cz (Bowyer Jeff)
  8619.  
  8620. What UNIX standards are related to internationalization?  (I use Ultrix's
  8621. NLS features extensively, but I think they need serious improvement.)
  8622. Please share your insights with us.
  8623.  
  8624.  
  8625. INSOFT-L on LISTSERV@CIS.VUTBR.CZ   Internationalization of Software
  8626.                                     Discussion List
  8627.  
  8628.    Internationalization of software relates to two subjects:
  8629.  
  8630.         1. Software that is written so a user can easily change the
  8631.            language of the interface;
  8632.  
  8633.         2. Versions of software, such as Czech WordPerfect, whose
  8634.            interface language differs from the original product.
  8635.  
  8636.    Topics discussed on this list include:
  8637.  
  8638.         -- Techniques for developing new software
  8639.  
  8640.         -- Techniques for converting existing software
  8641.  
  8642.         -- Internationalization tools
  8643.  
  8644.         -- Announcements of internationalized public domain software
  8645.  
  8646.         -- Announcements of foreign-language versions of commercial
  8647.            software
  8648.  
  8649.         -- Calls for papers
  8650.  
  8651.     -- Conference announcements
  8652.  
  8653.     -- References to documentation related to the
  8654.            internationalization of software
  8655.        
  8656.    This list is moderated.
  8657.    
  8658.    To subscribe to this list, send an electronic mail message to
  8659.    LISTSERV@CIS.VUTBR.CZ with the body containing the command:
  8660.  
  8661.       SUB INSOFT-L Yourfirstname Yourlastname
  8662.  
  8663.    Owner:
  8664.  
  8665.       Center for Computing and Information Services
  8666.       Technical University of Brno
  8667.       Udolni 19, 602 00 BRNO
  8668.       Czech Republic
  8669.  
  8670.       INSOFT-L-REQUEST@CIS.VUTBR.CZ
  8671.  
  8672.  
  8673.  
  8674. Volume-Number: Volume 31, Number 99
  8675.  
  8676.