user can modify the symlink.
* security.cc (set_security_attribute): Remove symlink special
handling.
+2003-02-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink): Create security attributes so that only the
+ user can modify the symlink.
+ * security.cc (set_security_attribute): Remove symlink special
+ handling.
+
2003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
* grp.cc (internal_getgroups): Do not return without closing
}
if (allow_ntsec && win32_path.has_acls ())
- set_security_attribute (S_IFLNK | S_IRWXU | S_IRWXG | S_IRWXO,
+ set_security_attribute (S_IFLNK | STD_RBITS | STD_WBITS,
&sa, alloca (4096), 4096);
h = CreateFile (win32_path, GENERIC_WRITE, 0, &sa,
set_security_attribute (int attribute, PSECURITY_ATTRIBUTES psa,
void *sd_buf, DWORD sd_buf_size)
{
- /* symlinks are anything for everyone! */
- if ((attribute & S_IFLNK) == S_IFLNK)
- attribute |= S_IRWXU | S_IRWXG | S_IRWXO;
-
psa->lpSecurityDescriptor = sd_buf;
InitializeSecurityDescriptor ((PSECURITY_DESCRIPTOR) sd_buf,
SECURITY_DESCRIPTOR_REVISION);