|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0305 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 0305.
Report 0305 Actions
Problem Report Number 0305 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0021 Raised 1994-03-17 08:00 Updated 2003-03-13 08:00 Published 1994-04-26 08:00 Product Standard Internationalised System Calls and Libraries (XPG4) Certification Program The Open Brand certification program Test Suite VSX4 version 4.3.3 Test Identification POSIX.os/files/utime 27 Specification System Interfaces and Headers Issue 4 Location in Spec See Problem Text Problem Summary PIN4.021 If utime() is called with a non-NULL times argument, then you must be the owner of the file to change the times. In a certain test case for utime() in the VSX+XNFS V4.3.3 test suite, a process is exec... Problem Text
If utime() is called with a non-NULL times argument, then you must be the
owner of the file to change the times. In a certain test case for utime()
in the VSX+XNFS V4.3.3 test suite, a process is executed as root on the
client, and then attempts to issue a utime() with a non-NULL times argument
on a file mounted from an NFS server. In our implementation, the utime()
call succeeds, even though the mapped id is not the owner of the file. The
test suite expects failure and errno set to EPERM.
In our implementataion, the owner test on the client is skipped because
the process is running as root(has the necessary permissions as far as the
client is concerned). The client does a SETATTR to update the mtime and
atime only. On the server, it is risky to check for file ownership on
every SETATTR since not all, if any, attributes (other than mtime/atime)
that can be set via SETATTR require ownership tests. If a fix is made to
pass the test suite by adding an ownership check on the server whenever
mtime and atime is set, then what happens if other attributes are to be
set in addition to atime/mtime, that do not require ownership tests? Does
the SETATTR still fail? The specification does not address this scenario.
It is our view that this change could cause major interoperability problems,
it adds unnecessary restrictions to SETATTR, and is a break from existing
practice.
The response we received from NFS_support is as follows:
This server behaviour is necessary to support clients that set the file's
timestamps to the current time on the client when utime() is called with a
NULL second argument. But given that XNFS compliant clients do not do this
(they pass a special value to indicate the timestamps should be set to
"current server time" - see interpretation XNFS/002/931001) it is questionable
whether this behaviour should be allowed on XNFS compliant servers. This
issue should be submitted to the relevant technical groups for interpretation.Test Output
************************************************************************
/tset/POSIX.os/files/utime/T.utime 27 Failed
Test Description:
For the XNFS specification:
When utime(path, times) references a file on a remote file system
and the times argument is not NULL and the process's effective
user ID matches the user ID of the file and the server maps the
process's effective user ID and the process has write permission
on the file, then -1 is returned, errno is set to EPERM and the
file's last accessed and last modified times are not changed.
For the XSH specification:
Not in use
Test Strategy:
SERVER:
CREATE file using crfile() - (genlib)
CLOSE file using close()
CLIENT:
CREATE child process using cppair() - (genlib)
SET file access and modification times using utime() using the
values in utimbuf structure
VERIFY that utime() returned -1 and errno set to EPERM
OBTAIN status information using stat()
VERIFY that st_atime and st_mtime have not been changed
UNLINK file using unlink()
Test Information:
utime("./utime-t.27", {actime=759623037, modtime=759623037}) did not
give correct results
RETURN VALUES: expected: -1, observed: 0
ERRNO VALUES: expected: 1 (EPERM), observed: 0 (NO ERROR)
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The above commentary fully describes the current status of this request
which is recommended for forwarding to the X-Net working group for
interpretation.
Since the behaviour is necessary for the support of older NFS clients, it
is recommended that a permanent interpretation is granted.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion
A permanent interpretation is granted.
Problem Reporting System Options:
- View Report 0305
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority