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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0413 Actions


    Problem Report Number 0413
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0032
    Raised 1993-09-14 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.2.4
    Test Identification XOPEN.os/genuts/setkey 1
    Problem Summary PG4R.032 The above conditions happen because our implementation disables the setkey() functionality but enables the crypt() and encrypt() functionality with _XOPEN_CRYPT not set to -1. As a result, encrypt() g...
    Problem Text

    The above conditions happen because our implementation disables the setkey() functionality
    but enables the crypt() and encrypt() functionality with _XOPEN_CRYPT not set to -1.
    As a result, encrypt() generates a "unresolved" because the test makes
    a call to setkey() which fails with errno set to ENOSYS ( because it is disabled ).

    The XPG4 specification states on page 361 that setkey() is an optional functionality.

    In addition, section 1.3.3 on encryption, the specification says:

    "Due to U.S. Government export restrictions on the decoding algorithm, implementations
    are retricted in making these functions available. All the functions in the Encryption
    Feature Group may therefore return [ENOSYS] or alternately, encrypt() shall return
    [ENOSYS] for the decryption process"

    The above two statements seem to contradict each other. For example,
    the optional functionality for setkey() function seems to indicate that
    an implementation can obtain XPG4 encryption feature conformance without the setkey() function.
    On the other hand, the second clause above indicates that conformance of a feature
    set requires all functions in the set to work. The test cases mentioned above
    are written to assume working functionality in all encryption functions if
    _XOPEN_CRYPT is not -1.

    We believe that making setkey() functionality available outside US also violates
    the US Government restrictions. Therefore, we must disable its functionality while
    maintaining the XPG4 encryption feature set compatibility for the other two functions.
    In fact, this may be the reason why the setkey() function is specified to be optional
    in the CAE specification, in the first place.

    We must have the functionality of crypt() and encrypt() in our software
    because our domestic and international customers want one-way password encryption
    and expect these functions to work as per the XPG4 specification.

    Because the US laws restricts release of full functionality and setkey() is defined
    to be optional in XPG4 specification, the test suite should not be testing or using
    setkey() in the encrypt tests mentioned above.

    Therefore, we request waiver from the test case failures mentioned above.

    Test Output
    /tset/XOPEN.os/genuts/setkey/T.setkey 1 Failed

    Test Description:
    If _XOPEN_CRYPT is not -1:
    setkey() generates a different encoding key for different values
    of key.
    Otherwise:
    setkey() returns the error condition ENOSYS.
    In XPG3 mode, _XOPEN_CRYPT is not examined and the test allows either
    behaviour.

    Test Strategy:
    IF not XPG 3 mode and _XOPEN_CRYPT is -1:
    CALL encrypt(block, 0)
    VERIFY errno is set to ENOSYS.
    IF XPG 3 mode or _XOPEN_CRYPT is not -1:
    INITIALISE encryption key using setkey()
    INITIALISE key and block arrays to random 0's and 1's
    CALL setkey(key)
    CALL encrypt(block, 0)
    Otherwise:
    VERIFY that with different keys different encryptions are produced
    and
    errno is set to ENOSYS

    Test Information:
    setkey() did not produce different encryptions with different keys

    -----------------------------------------------------------------------------------

    /tset/XOPEN.os/genuts/encrypt/T.encrypt 1 Unresolved

    Test Description:
    If _XOPEN_CRYPT is not -1:
    encrypt() encrypts the string specified by block differently for
    different valid keys generated by setkey().
    Otherwise:
    encrypt() returns the error condition ENOSYS.
    In XPG3 mode, _XOPEN_CRYPT is not examined and the test allows either
    behaviour.

    Test Information:
    setkey() set errno to ENOSYS

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The issue of feature sets was discussed by the interpretations group for
    VSX 4 and an interpretation (number 25) was forthcoming. This interpretation
    did not allow the behaviour exhibited by this system to be associated with
    the feature set _XOPEN_CRYPT. The text cited in Section 1.3.3 of XPG4 gives
    two alternatives for systems that need to conform to the U.S. Government
    export restrictions, namely that either all of the functions in the feature
    set always return [ENOSYS], or all of the functions work as specified with
    the exception that the encrypt() function returns [ENOSYS] for the
    decryption process. The implementation must make one of these two choices,
    not the behaviour exhibited in the test results provided.

    It is not recommended that this be considered a test suite deficiency.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This interpretation request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority