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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0221 Actions


    Problem Report Number 0221
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0221
    Raised 1995-05-24 08:00
    Updated 2003-03-13 08:00
    Published 1995-06-05 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.5
    Test Identification POSIX.os/files/link 10
    Problem Summary TSD4.221 The VSX4 fails to properly test XPG4-compliant behavior of the link() function. EACCES is allowable in this situation: "ERRORS The link() function will fail if: [EACCES] A component of either path pre...
    Problem Text
    The VSX4 fails to properly test XPG4-compliant behavior of the link()
    function. EACCES is allowable in this situation:

    "ERRORS

    The link() function will fail if:

    [EACCES] A component of either path prefix denies search
    permission, or the requested link requires writing
    in a directory with a mode that denies write
    permission, or the calling process does not have
    permission to access the existing file and this is
    required by the implementation."

    Our implementation requires a caller to have access to the existing file
    for it to create a new link to it and this is documented in our POSIX.1
    conformance document.

    We believe this test should either result in only a warning or a new
    VSX4 configuration variable should be created to allow the specification
    of this requirement so the outcome of this test would be unsupported.
    Test Output
    /tset/POSIX.os/files/link/T.link 10 Failed

    Test Description:
    When link(path1, path2) is granted search access to the path prefix of
    path1 an EACCES error shall not occur unless access is denied to
    path2.
    Posix Ref: Component LINK Assertion 5.3.4.2-36(A)

    Test Strategy:
    VERIFY that process has suitable privileges
    DETERMINE whether linking to a directory is permitted from the
    environment variable VSX_LINK_DIR_SUPP
    ASSIGN the current process appropriate privileges using setprv() -
    vport
    CREATE directory with search access to path prefix using do_access() -
    (tsetlib) and call function to do the following:
    IF link already exists (eaccess()) then unlink() it
    OBTAIN st_nlink, st_dev and st_ino for file using stat()
    CREATE link to file using link()
    VERIFY that link() returned 0 and errno was not set
    VERIFY that st_dev and st_ino are the same for the file and the link
    UNLINK file

    Test Information:
    link("do_acc-nu.d/do_acc-nu.t", "link-t.10") did not give correct
    results
    RETURN VALUES: expected: 0, observed: -1
    ERRNO VALUES: expected: 0 (NO ERROR), observed: 111 (EACCES)
    non-privileged process with effective uid = 40, gid = 400
    owner/group of do_acc-nu.d and do_acc-nu.d/do_acc-nu.t: 40/400
    mode of do_acc-nu.d: 0100, mode of do_acc-nu.d/do_acc-nu.t: 0
    link("do_acc-ng.d/do_acc-ng.t", "link-t.10") did not give correct
    results
    RETURN VALUES: expected: 0, observed: -1
    ERRNO VALUES: expected: 0 (NO ERROR), observed: 111 (EACCES)
    non-privileged process with effective uid = 40, gid = 400
    owner/group of do_acc-ng.d and do_acc-ng.d/do_acc-ng.t: 41/400
    mode of do_acc-ng.d: 010, mode of do_acc-ng.d/do_acc-ng.t: 0
    link("do_acc-sg.d0/do_acc-sg.t0", "link-t.10") did not give correct
    results
    RETURN VALUES: expected: 0, observed: -1
    ERRNO VALUES: expected: 0 (NO ERROR), observed: 111 (EACCES)
    non-privileged process with effective uid = 40, gid = 400
    owner/group of do_acc-sg.d0 and do_acc-sg.d0/do_acc-sg.t0: 41/551
    mode of do_acc-sg.d0: 010, mode of do_acc-sg.d0/do_acc-sg.t0: 0
    link("do_acc-sg.d1/do_acc-sg.t1", "link-t.10") did not give correct
    results
    RETURN VALUES: expected: 0, observed: -1
    ERRNO VALUES: expected: 0 (NO ERROR), observed: 111 (EACCES)
    non-privileged process with effective uid = 40, gid = 400
    owner/group of do_acc-sg.d1 and do_acc-sg.d1/do_acc-sg.t1: 41/552
    mode of do_acc-sg.d1: 010, mode of do_acc-sg.d1/do_acc-sg.t1: 0

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It seems that the test assertions in POSIX.3.1 do not align precisely
    with the specification in POSIX.1-1990. The most pragmatic solution
    would seem to be to treat this as a test suite deficiemcy and to upgrade
    the test suite to allow for the condition that an implementation may
    require access to a file in order to create a link. This would not
    weaken the purpose of the test which is ensuring that the directory
    access permissions for the directory containing the link are correct.
    I would recommend that this is treated as a test suite deficiency.

    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