|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0413 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 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 ENOSYSReview 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:
- View Report 0413
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority