]> arthur.barton.de Git - netatalk.git/commitdiff
Fix test348 and 349
authorfranklahm <franklahm>
Mon, 1 Feb 2010 16:13:52 +0000 (16:13 +0000)
committerfranklahm <franklahm>
Mon, 1 Feb 2010 16:13:52 +0000 (16:13 +0000)
etc/afpd/directory.c
etc/afpd/filedir.c

index ad62f77b4b83d5df9d884ea27296f1c448a5d4f8..db531cf78bee798f3813054e4e6c1da7654fa548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: directory.c,v 1.131.2.3 2010-02-01 14:25:45 franklahm Exp $
+ * $Id: directory.c,v 1.131.2.4 2010-02-01 16:13:52 franklahm Exp $
  *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
@@ -363,8 +363,16 @@ static struct path *path_from_dir(struct vol *vol, struct dir *dir, struct path
         }
 
         ret->d_dir = dir;
+#if 0
         ret->st_valid = 1;
         ret->st_errno = EACCES;
+#endif
+
+        LOG(log_debug, logtype_afpd, "cname(AFPERR_ACCESS:'%s') {path-from-dir: curdir:'%s', path:'%s'}",
+            cfrombstring(dir->d_fullpath),
+            cfrombstring(curdir->d_fullpath),
+            ret->u_name);
+
         return ret;
 
     case AFPERR_NOOBJ:
@@ -379,8 +387,10 @@ static struct path *path_from_dir(struct vol *vol, struct dir *dir, struct path
             memcpy(ret->u_name, cfrombstring(dir->d_u_name), blength(dir->d_u_name) + 1);
         }
 
+#if 0
         ret->st_valid = 1;
         ret->st_errno = ENOENT;
+#endif
         ret->d_dir = NULL;
         dir_remove(vol, dir);
         return ret;
index bbbc422f2dafdb8838cbd12af0216d8a69495cd0..fa3e5f617d1df400769cd5822334afee46fae40b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: filedir.c,v 1.69.2.1 2010-02-01 10:56:08 franklahm Exp $
+ * $Id: filedir.c,v 1.69.2.2 2010-02-01 16:13:52 franklahm Exp $
  *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
@@ -188,7 +188,7 @@ int afp_getfildirparams(AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *r
         of_statdir(vol, s_path);
     }
     if ( s_path->st_errno != 0 ) {
-        if (s_path->st_errno != EACCES) {
+        if (afp_errno != AFPERR_ACCESS) {
             LOG(log_debug, logtype_afpd, "getfildirparams: s_path->st_errno != 0");
             return( AFPERR_NOOBJ );
         }
@@ -274,7 +274,8 @@ int afp_setfildirparams(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf
     }
 
     if ( path->st_errno != 0 ) {
-        return( AFPERR_NOOBJ );
+        if (afp_errno != AFPERR_ACCESS)
+            return( AFPERR_NOOBJ );
     }
     /*
      * If ibuf is odd, make it even.