HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1441 Details

Help 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 End

    Review 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:

     

    Back   


Contact the Certification Authority