Report 1098 Actions
Problem Report Number |
1098 |
Submitter's Classification |
Minor System Fault |
State |
Resolved |
Resolution |
Minor System Fault (MSF) |
Problem Resolution ID |
MSF.X.0047 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1995-12-05 08:00 |
Expiry Date |
1996-12-05 |
Product Standard |
Internationalised System Calls and Libraries Extended (UNIX 95) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSU version 4.0.2 |
Test Identification |
CAPIbase/ttyslot 1 |
Problem Summary |
MSF4U.00006 A temporary waiver is requested because the ttyslot index returned is not ordinal to getutxent. |
Problem Text |
This test is failing due to an invalid assumption concerning the relationship between an index into the user accounting database and the order that entries are read out of the user accounting database. The user accounting database is mentioned in conjunction with ttyslot() and the six functions listed on the endutxent() page. The ttyslot() function returns an index into the database but there is no function that takes that index and returns the entry associated with the index. The test assumes that by reading the database sequentially it is reading in index order. This assumption is not supported by any statement in the specification. There is no stated correlation between indexes and the order in which the database is read.
|
Test Output |
TEST CASE: ttyslot TEST PURPOSE #1 A successful call to int ttyslot(void) shall return the index of an entry in the user accounting database in which the utline member matches the terminal device associated with the standard input, standard output, or standard error (file descriptor 0, 1 or 2) of the calling process. PREP: Find name of current terminal PREP: Close file descriptors PREP: Redirect stdin to /dev/null PREP: Redirect stdout to /dev/null PREP: Redirect stderr to /dev/null PREP: Associate /dev/ttyp6 with stdin TEST: Call ttyslot() to search for stdin entry TEST: ttyslot returned index of entry in utmpx database ERROR: Device names are not the same Expected ttyp6, received ttyp7 1 FAIL
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
We tenatively recommend this request be refused after review. The ttyslot spec states The ttyslot() function returns the index of the current user's entry in the user accounting database. The current user's entry is an entry for which the utline member matches the name of a terminal device associated with any of the process' file descriptors 0, 1 or 2. The index is an ordinal number representing the record number in the database of the current user's entry. ... The key phrase here is that "the index is an ordinal number". But ordinal to what? Although there is no clear wording in the spec that mandates it, we believe this index must be ordinal to the order of records retrieved from the dataase using getutxent(). Thus if ttyslot returns 5 the sixth call to getutxent should return the same record. (ttyslot uses 0 to represent the first record in the database.)
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The request should be granted as a temporary waiver. At the Watford meeting, the group agreed that the specification is right. If ttyslot() returns N, then N+1 calls of getutent() will return the correct entry. This does not imply that the entries are actually stored in a sequential order.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Minor System Fault (MSF) |
Review Conclusion |
A Temporary Waiver is granted.
|
Problem Reporting System Options:
|