|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1441 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1441.
Report 1441 Actions
Problem Report Number 1441 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0723 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1995-12-15 08:00 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification base/mknod 8 Problem Summary TSD4U.00092 This test may fail on implementations because S_ISVTX is not classified as a permission bit. Problem Text
This test may fail on implementations because S_ISVTX is not
classified as a permission bit.
The mknod() function states,
The owner, group, and other permission bits of mode
are modified by the file mode creation mask of the
process. The mknod() function clears each bit whose
corresponding bit in the file mode creation mask of
the process is set.
When umask() is called as follows: umask(S_ISFIFO | S_ISVTX)
S_ISVTX does not become part of the file mode creation mask.
This is compliant behavior according to the SPEC 1170 description
of umask():
The umask() function sets the process' file mode creation mask
to cmask and returns the previous value of the mask. Only the
file permission bits of cmask (see <sys/stat.h>) are used; the
meaning of the other bits is implementation-dependent.
The description of <sys/stat/h> states the definition of a permission
bit as,
The file permission bits are defined to be those corresponding
to the bitwise inclusive OR of S_IRWXU, S_IRWXG and S_IRWXO."
To summarize, umask() only uses the file permission bits. The meaning
of other bits is implementation-dependent. S_ISVTX is not a
permission bit according to the way the spec is currently worded. We
do have our own implementation-dependent usage of S_ISVTX. We counted
on having that because the spec says we can use it in this way.
Now back to mknod(). Since S_ISVTX is not set in the file creation
mask, or at least it doesn't need to be used, how does that affect
mknod()'s behavior?
The mknod() function clears each bit whose corresponding bit
in the file mode creation mask of the process is set.
S_ISVTX does not need to be set in the file creation mask. Therefore
mknod() does not have to clear this bit.
I think that is especially important since the spec seems to be
allowing for implementation-dependent usages of certain
"non-permission bits". If they are going to allow these uses, then
the spec also wouldn't interfere with these uses.Test Output
0|1518 /tset/CAPIbase/fmknod/fmknod8 18:23:53|TC Start, scenario ref 76
5|1500 1.10 1|TCM Start
00|1500 8 1 18:23:56|IC Start
00|1500 1 18:23:56|TP Start
20|1500 1 58261536 1 1|SPEC1170TESTSUITE CASE 8
20|1500 1 58261536 1 2|On a call to int mknod(const char *path, mode_t
20|1500 1 58261536 1 3|dev_t dev) the owner, group, and permission bits
20|1500 1 58261536 1 4|mode for which corresponding bits are set in the
20|1500 1 58261536 1 5|calling process's file mode creation mask shall
20|1500 1 58261536 1 6|cleared in the setting the permissions of the fi
20|1500 1 58261536 1 7|created.
20|1500 1 84672534 1 1|PREP: Set bit S_IRWXU in the process's file mode
20|1500 1 84672534 1 2|TEST: mknod() creates a FIFO-special file with S
20|1500 1 84672534 1 3|PREP: Set bit S_IRUSR in the process's file mode
20|1500 1 84672534 1 4|TEST: mknod() creates a FIFO-special file with S
20|1500 1 84672534 1 5|PREP: Set bit S_IWUSR in the process's file mode
20|1500 1 84672534 1 6|TEST: mknod() creates a FIFO-special file with S
20|1500 1 84672534 1 7|PREP: Set bit S_IXUSR in the process's file mode
20|1500 1 84672534 1 8|TEST: mknod() creates a FIFO-special file with S
520|1500 1 84672534 1 9|PREP: Set bit S_IRWXG in the process's file mode
520|1500 1 84672534 1 10|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 11|PREP: Set bit S_IRGRP in the process's file mod
520|1500 1 84672534 1 12|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 13|PREP: Set bit S_IWGRP in the process's file mod
520|1500 1 84672534 1 14|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 15|PREP: Set bit S_IXGRP in the process's file mod
520|1500 1 84672534 1 16|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 17|PREP: Set bit S_IRWXO in the process's file mod
520|1500 1 84672534 1 18|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 19|PREP: Set bit S_IROTH in the process's file mod
520|1500 1 84672534 1 20|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 21|PREP: Set bit S_IWOTH in the process's file mod
520|1500 1 84672534 1 22|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 23|PREP: Set bit S_IXOTH in the process's file mod
520|1500 1 84672534 1 24|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 25|PREP: Set bit S_ISVTX in the process's file mod
520|1500 1 84672534 1 26|TEST: mknod() creates a FIFO-special file with
520|1500 1 84672534 1 27|ERROR: mknod() did not create a FIFO-special fi
520|1500 1 84672534 1 28| the correct modes
520|1500 1 84672534 1 29| Expected: 67109376 Received: 67109376
220|1500 1 1 18:23:57|FAIL
410|1500 8 1 18:23:57|IC End
80|1518 0 18:23:57|TC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 1441
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority