]> arthur.barton.de Git - netatalk.git/commitdiff
home name must contain $u
authorHAT <hat@fa2.so-net.ne.jp>
Thu, 19 Apr 2012 15:41:24 +0000 (00:41 +0900)
committerHAT <hat@fa2.so-net.ne.jp>
Thu, 19 Apr 2012 15:41:24 +0000 (00:41 +0900)
libatalk/util/netatalk_conf.c

index c61ebe6f3071e435baa3b3d494743f5808155d7b..a346184375adb213f1fbbd3641c22ecb59301dbb 100644 (file)
@@ -1024,10 +1024,12 @@ static int readvolfile(AFPObj *obj, const struct passwd *pwent)
 
         /* do variable substitution for volume name */
         if (STRCMP(secname, ==, INISEC_HOMES)) {
-            if (p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home"))
-                strlcpy(tmp, p, MAXPATHLEN);
-            else
-                strlcpy(tmp, p, MAXPATHLEN);
+            p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
+            if (strstr(p, "$u") == NULL) {
+                LOG(log_warning, logtype_afpd, "home name must contain $u.");
+                p = "$u's home";
+            }
+            strlcpy(tmp, p, MAXPATHLEN);
         } else {
             strlcpy(tmp, secname, AFPVOL_U8MNAMELEN);
         }
@@ -1359,6 +1361,8 @@ struct vol *getvolbypath(AFPObj *obj, const char *path)
 
     /* do variable substitution for volume name */
     p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
+    if (strstr(p, "$u") == NULL)
+        p = "$u's home";
     strlcpy(tmpbuf, p, AFPVOL_U8MNAMELEN);
     EC_NULL_LOG( volxlate(obj, volname, sizeof(volname) - 1, tmpbuf, pw, volpath, NULL) );