|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2549 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 2549.
Report 2549 Actions
Problem Report Number 2549 Submitter's Classification Specification problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1319 Raised 2009-08-25 01:36 Updated 2009-08-25 18:50 Published 2009-08-25 18:50 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSX4 version 4.6.9 Test Identification /tset/XOPEN.os/streamio/tempnam/T.tempnam 7 Specification Base Definitions Issue 6 Location in Spec http://www.opengroup.org/onlinepubs/000095399/functions/tempnam.html
Second paragraph in DescriptioLinked Problem Reports 0344 Problem Summary /tset/XOPEN.os/streamio/tempnam/T.tempnam,7,FAIL Problem Text The tempnam(3) function may use "an implementation-defined directory" in
certain
circumstances. The T.tempnam,7 test in VSX assumes that only a single
implementation
defined directory is used for all calls to tempnam(3), however our
implementation may try
further directories in order to allow the operation to succeed which we
believe to be
permissible by the specification. From the specification:
"The dir argument points to the name of the directory in which the file
is to be created. If dir
is a null pointer or points to a string which is not a name for an
appropriate directory, the
path prefix defined as P_tmpdir in the <stdio.h> header shall be used.
If that directory is not
accessible, an implementation-defined directory may be used."
This issue was resolved as PIN.X.0060 for the Network File System standard.Test Output ************************************************************************
/tset/XOPEN.os/streamio/tempnam/T.tempnam 7 Failed
Test Description:
For the XNFS specification:
When the dir argument to tempnam() refers to a directory on a
remote file system and access to that directory, the directory
specified by {P_tmpdir} and an implementation-defined directory is
denied after the process's effective user ID has been subject to
the server's user ID mapping process, then tempnam() returns a
NULL pointer.
Test requirements: Test cases where the server both maps and does
not map the process's effective user ID.
For the XSH specification:
If dir and {P_tmpdir} and an implementation defined directory are
all names of inaccessible directories then NULL is returned.
Test Strategy:
PARENT process will
CREATE [child process|process pair]
CHILD process will
CREATE test program using execl()
CREATE temporary directory and make it the current working
directory using chdir()
REQUEST/VERIFY the NEWROOT and CHOWN privileges for the current
process using setprv() - vport
WHEN testing the XNFS specification:
Change root to the current directory using newroot() - vport
CREATE directory P_tmpdir, setting mode to 0
CREATE second temporary directory using crdir(), setting mode to
0
CALL tempnam() with second temporary directory name as argument
CREATE the directory returned by tempnam() using crdir(),
setting mode to 0
REMOVE all privileges using unsetprv()
VERIFY that unsetprv() returned 0
VERIFY that when the uid is mapped, null is returned by
tempnam()
CALL tempnam() again with same directory argument
CHANGE effective uid to real uid using setuid()
VERIFY that when the uid is not mapped, null is returned by
tempnam()
WHEN testing the XSH specification:
Change root to the current directory using newroot() - vport,
thus making P_tmpdir inaccessible
CREATE second temporary directory using crdir()
REMOVE second temporary directory using rmdir()
CALL tempnam() with second temporary directory name as argument
MAKE the directory returned by tempnam() inaccessible using
chmod() to mode 0
REMOVE all privileges using unsetprv()
VERIFY that unsetprv() returned 0
CALL tempnam() again with same directory argument
VERIFY that null is returned by tempnam()
Test Information:
tempnam(dir, NULL) did not return NULL when dir, P_tmpdir, and the
implementation defined directory (/tmp) were not accessible
instead returned ./tmp.mGhrWl
************************************************************************Review Information
Review Type SA Review Start Date 2009-08-25 01:36 Last Updated 2009-08-25 18:48 Completed 2009-08-25 18:48 Status Complete Review Resolution Temporary Interpretation (TIN) Review Conclusion A temporary interpretation is granted. The issue raised with the
specification owners.
Update: following approval of Austin Group interpretation
http://austingroupbugs.net/view.php?id=137 this is now considered to be
a test suite deficiency.
Problem Reporting System Options:
- View Report 2549
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority