r8366: Root-level files don't have a slash, but acls need to be settable on
authorVolker Lendecke <vlendec@samba.org>
Tue, 12 Jul 2005 09:18:50 +0000 (09:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:58:20 +0000 (10:58 -0500)
them. Thanks to Brent Trotter for reminding me to commit this :-)

Volker
(This used to be commit dfa9eef7b6892ceb0e67b0c4bfb56431ead1ac3d)

source3/modules/vfs_afsacl.c

index 731ddfa58364f95f5ea6989e19513aa370b670aa..0e2e1295b9f7bf2a8e216a636c281de479ea47e8 100644 (file)
@@ -891,12 +891,14 @@ static BOOL afs_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp,
        pstr_sprintf(name, fsp->fsp_name);
 
        if (!fsp->is_directory) {
        pstr_sprintf(name, fsp->fsp_name);
 
        if (!fsp->is_directory) {
+               /* We need to get the name of the directory containing the
+                * file, this is where the AFS acls live */
                char *p = strrchr(name, '/');
                char *p = strrchr(name, '/');
-               if (p == NULL) {
-                       DEBUG(3, ("No / in file string\n"));
-                       return False;
+               if (p != NULL) {
+                       *p = '\0';
+               } else {
+                       pstrcpy(name, ".");
                }
                }
-               *p = '\0';
        }
 
        if (!afs_get_afs_acl(name, &old_afs_acl)) {
        }
 
        if (!afs_get_afs_acl(name, &old_afs_acl)) {