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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2469 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 2469.


Report 2469 Actions


    Problem Report Number 2469
    Submitter's Classification Minor System Fault
    State Resolved
    Resolution Minor System Fault (MSF)
    Problem Resolution ID MSF.X.0100
    Raised 2005-07-22 10:55
    Updated 2005-07-25 23:07
    Published 2005-07-25 23:07
    Expiry Date 2006-07-25
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version VSX4.6.4
    Test Identification /tset/POSIX.os/files/chmod/T.chmod{7}
    Specification Base Definitions Issue 6
    Location in Spec http://www.opengroup.org/onlinepubs/000095399/functions/chmod.html
    Problem Summary The test in question creates an SGID file owned by UID vsx1 and GID vsxg1. A child process
    is created with effective UID vsx1 and effective GID vsx0. The child process changes the
    mode of the file to 02770. This change succeeds, but does not remove
    Problem Text This problem has to do with whether, for the purposes of determining supplementary group
    membership, the function arguments to the implementation defined setgrps() defined in
    SRC/userintf.c is considered to be authoritative. In our implementation, it is not, and group
    membership checking is keyed off both (A) the default supplementary group list for a given
    UID at the time of login, and (B) the supplementary group list for the process as modified
    subsequently via either POSIX calls or the TET-specific setgrps() function in SRC/userintf.c.
    This effectively means that it is impossible for a given UID to temporarily or permanently
    disavow membership in a group in that UIDs default supplementary group list, without
    modifying the information store from which the default supplementary group list was
    obtained at login time.

    Changing this behavior represents a significant effort which will require time to implement
    and test. We intend to fix this in our next official release.
    Test Output /tset/POSIX.os/files/chmod/T.chmod 7 Failed

    Test Description:
    A call to chmod(path, mode) from a process without appropriate
    privileges when the group owner of the regular file specified by path
    does not match the effective group ID or one of the supplementary
    group IDs shall clear the S_ISGID bit upon successful completion.
    Posix Ref: Component CHMOD Assertion 5.6.4.2-29(A)

    Test Strategy:
    VERIFY that process has suitable privileges
    DETERMINE whether chmod() with appropriate privileges is permitted
    from the environment variable VSX_PRIV_CHOWN_SUPP
    ASSIGN the current process appropriate privileges using setprv() -
    vport
    DETERMINE whether setting S_ISUID and S_ISGID is permitted form the
    environment variable VSX_SET_ID_MODES_SUPP
    VERIFY that vsxg1 is not a supplementary group for this process
    CREATE child process using cppair()
    SET effective group id to actual group id using setgid() and
    getegid()
    VERIFY that the effective and actual group ids are the same using
    getgid() and getegid()
    SET effective user id to actual user id using setuid() and geteuid()
    VERIFY that the effective and actual user ids are the same using
    getuid() and geteuid()
    REMOVE the CHOWN and SETID privileges from the current process using
    unsetprv()
    VERIFY that unsetprv() returned 0
    CREATE two files with all access modes available and S_ISGID set
    CREATE child process using cppair()
    SET and VERIFY that the effective user and group ids are vsx1/vsxg1
    REMOVE the CHOWN and SETID privileges from the current process using
    unsetprv()
    FOR each file with mode excluding and including S_ISGID
    CHANGE the mode of the file using chmod() with the current file
    mode
    VERIFY that chmod() returned 0
    OBTAIN file status information for file using stat()
    VERIFY that the file status mode has the expected value

    Test Information:
    successful call to chmod("chmod-t.7b", 02770) did not change mode of
    file correctly
    expected: 0770, observed: 02770

    Review Information

    Review Type SA Review
    Start Date 2005-07-22 10:55
    Last Updated 2005-07-23 00:14
    Completed 2005-07-23 00:14
    Status Complete
    Review Resolution Minor System Fault (MSF)
    Review Conclusion A minor system fault is granted.

    This problem is thought very unlikely to affect application portability.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority