added $.x.y fakhosts where $ gets replaced with the users auth handle
[srvx.git] / src / proto-common.c
index e71bacd6959323c24896f048f382338c66d6f8a0..a7c159a18f989449eba731cec2dedf2b6eb1ba19 100644 (file)
@@ -757,7 +757,12 @@ generate_hostmask(struct userNode *user, int options)
     }
     hostname = user->hostname;
     if (IsFakeHost(user) && IsHiddenHost(user) && !(options & GENMASK_NO_HIDING)) {
-        hostname = user->fakehost;
+        if(user->fakehost && user->fakehost[0] == "$") {
+            hostname = alloca(strlen(user->handle_info->handle) + strlen(user->fakehost));
+            sprintf(hostname, "%s%s", user->handle_info->handle, user->fakehost+1);
+        } else {
+            hostname = user->fakehost;
+        }
     } else if (IsHiddenHost(user) && user->handle_info && hidden_host_suffix && !(options & GENMASK_NO_HIDING)) {
         hostname = alloca(strlen(user->handle_info->handle) + strlen(hidden_host_suffix) + 2);
         sprintf(hostname, "%s.%s", user->handle_info->handle, hidden_host_suffix);