}
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);