]> arthur.barton.de Git - netatalk.git/commitdiff
Correct check for valid afp session context
authorFrank Lahm <franklahm@googlemail.com>
Wed, 28 Mar 2012 12:49:28 +0000 (14:49 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Wed, 28 Mar 2012 12:49:28 +0000 (14:49 +0200)
libatalk/util/netatalk_conf.c

index c2388d5e78fa36f8642162debfbfd64ced2ce81c..af5a21ae8625c02407f93d9d9566748b63c30b18 100644 (file)
@@ -334,9 +334,12 @@ static char *volxlate(const AFPObj *obj,
             }
         } else if (IS_VAR(p, "$c")) {
             DSI *dsi = obj->dsi;
-            len = sprintf(dest, "%s:%u",
-                          getip_string((struct sockaddr *)&dsi->client),
-                          getip_port((struct sockaddr *)&dsi->client));
+            if (obj->username[0]) {
+                len = sprintf(dest, "%s:%u",
+                              getip_string((struct sockaddr *)&dsi->client),
+                              getip_port((struct sockaddr *)&dsi->client));
+            } else {
+            }
             dest += len;
             destlen -= len;
         } else if (IS_VAR(p, "$d")) {
@@ -356,7 +359,7 @@ static char *volxlate(const AFPObj *obj,
             q = getip_string((struct sockaddr *)&dsi->client);
         } else if (IS_VAR(p, "$s")) {
             q = obj->options.hostname;
-        } else if (obj->username && IS_VAR(p, "$u")) {
+        } else if (obj->username[0] && IS_VAR(p, "$u")) {
             char* sep = NULL;
             if ( obj->options.ntseparator && (sep = strchr(obj->username, obj->options.ntseparator[0])) != NULL)
                 q = sep+1;