Anonymous | Login | 2024-04-19 10:30 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000825 | [1003.1(2013)/Issue7+TC1] Base Definitions and Headers | Objection | Error | 2014-02-12 11:26 | 2019-06-10 08:54 | ||
Reporter | geoffclare | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted As Marked | ||||
Status | Closed | ||||||
Name | Geoff Clare | ||||||
Organization | The Open Group | ||||||
User Reference | |||||||
Section | 4.12 | ||||||
Page Number | 112 | ||||||
Line Number | 3050 | ||||||
Interp Status | --- | ||||||
Final Accepted Text | see Note: 0002138 | ||||||
Summary | 0000825: Pathname resolution and empty symbolic links | ||||||
Description |
In January 2013 there was a discussion on the mailing list about how existing systems perform pathname resolution when they encounter an empty symbolic link. It was established that existing practice is either for pathname resolution to fail or for the empty symbolic link to be treated as if it contained ".", whereas the letter of the standard requires treating the part of the pathname after the empty symbolic link as an absolute pathname, which would be a very odd thing to do and as far as we know nobody does that. The proposed change allows both of the existing behaviours. Also, in a couple of places the description of pathname resolution mentions setting errno; this should only apply to functions, and the text should not mention errno explicitly since some functions such as posix_spawn() return an error number instead of setting errno. |
||||||
Desired Action |
At page 112 line 3050 section 4.12 change: In all other cases, the system shall prefix the remaining pathname, if any, with the contents of the symbolic link. If the combined length exceeds {PATH_MAX}, and the implementation considers this to be an error, errno shall be set to [ENAMETOOLONG] and an error indication shall be returned. to: In all other cases, the system shall prefix the remaining pathname, if any, with the contents of the symbolic link, unless the symbolic link is empty in which case it is unspecified whether pathname resolution proceeds as if the symbolic link had contained the special filename dot, or pathname resolution fails with functions reporting an [ENOENT] error and utilities writing an equivalent diagnostic message. In the cases where prefixing occurs, if the combined length exceeds {PATH_MAX}, and the implementation considers this to be an error, pathname resolution shall fail with functions reporting an [ENAMETOOLONG] error and utilities writing an equivalent diagnostic message. At page 112 line 3056 section 4.12 change: If the system detects a loop in the pathname resolution process, it shall set errno to [ELOOP] and return an error indication. to: If the system detects a loop in the pathname resolution process, pathname resolution shall fail with functions reporting an [ELOOP] error and utilities writing an equivalent diagnostic message. |
||||||
Tags | tc2-2008 | ||||||
Attached Files | |||||||
|
Relationships | |||||||
|
Notes | |
(0002137) geoffclare (manager) 2014-02-12 14:42 |
Seems I overlooked 0000649 when I submitted this. (Thanks Eric for adding the relationship.) So the empty symlink issue is already being addressed, but the errno issue still remains. |
(0002138) geoffclare (manager) 2014-02-12 15:36 |
New proposal: At page 112 line 3050 section 4.12, after applying 0000649 change: In all other cases, the system shall prefix the remaining pathname, if any, with the contents of the symbolic link. If the contents of the symbolic link is the empty string, then either errno shall be set to [ENOENT] and an error indication shall be returned, or the pathname of the directory containing the symbolic link shall be used in place of the contents of the symbolic link. If the combined length exceeds {PATH_MAX}, and the implementation considers this to be an error, errno shall be set to [ENAMETOOLONG] and an error indication shall be returned. to: In all other cases, the system shall prefix the remaining pathname, if any, with the contents of the symbolic link, except that if the contents of the symbolic link is the empty string, then either pathname resolution shall fail with functions reporting an [ENOENT] error and utilities writing an equivalent diagnostic message, or the pathname of the directory containing the symbolic link shall be used in place of the contents of the symbolic link. In the cases where prefixing occurs, if the combined length exceeds {PATH_MAX}, and the implementation considers this to be an error, pathname resolution shall fail with functions reporting an [ENAMETOOLONG] error and utilities writing an equivalent diagnostic message. At page 112 line 3056 section 4.12 change: If the system detects a loop in the pathname resolution process, it shall set errno to [ELOOP] and return an error indication. to: If the system detects a loop in the pathname resolution process, pathname resolution shall fail with functions reporting an [ELOOP] error and utilities writing an equivalent diagnostic message. |
Issue History | |||
Date Modified | Username | Field | Change |
2014-02-12 11:26 | geoffclare | New Issue | |
2014-02-12 11:26 | geoffclare | Name | => Geoff Clare |
2014-02-12 11:26 | geoffclare | Organization | => The Open Group |
2014-02-12 11:26 | geoffclare | Section | => 4.12 |
2014-02-12 11:26 | geoffclare | Page Number | => 112 |
2014-02-12 11:26 | geoffclare | Line Number | => 3050 |
2014-02-12 11:26 | geoffclare | Interp Status | => --- |
2014-02-12 13:15 | eblake | Relationship added | related to 0000649 |
2014-02-12 14:42 | geoffclare | Note Added: 0002137 | |
2014-02-12 15:36 | geoffclare | Note Added: 0002138 | |
2014-03-20 15:46 | eblake | Final Accepted Text | => see Note: 0002138 |
2014-03-20 15:46 | eblake | Status | New => Resolved |
2014-03-20 15:46 | eblake | Resolution | Open => Accepted As Marked |
2014-03-20 15:47 | eblake | Tag Attached: tc2-2008 | |
2019-06-10 08:54 | agadmin | Status | Resolved => Closed |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |