Fixed the invite process handling during joining to use
[silc.git] / apps / silcd / command.c
index 991116495bfd590fea991e3203fd98ee75ca188c..265dead7ea1509a5e1676dd8b5773a426dfd1a20 100644 (file)
@@ -1965,7 +1965,10 @@ static void silc_server_command_join_channel(SilcServer server,
     if (!strchr(client->nickname, '@')) {
       silc_strncat(check2, sizeof(check2), "@", 1);
       silc_strncat(check2, sizeof(check2),
-                  server->server_name, strlen(server->server_name));
+                  SILC_IS_LOCAL(client) ? server->server_name :
+                  client->router->server_name,
+                  SILC_IS_LOCAL(client) ? strlen(server->server_name) :
+                  strlen(client->router->server_name));
     }
     silc_strncat(check2, sizeof(check2), "!", 1);
     silc_strncat(check2, sizeof(check2),
@@ -1976,6 +1979,9 @@ static void silc_server_command_join_channel(SilcServer server,
                   cmd->sock->hostname, strlen(cmd->sock->hostname));
     }
 
+    SILC_LOG_DEBUG(("check : %s", check));
+    SILC_LOG_DEBUG(("check2: %s", check2));
+
     /* Check invite list if channel is invite-only channel */
     if (channel->mode & SILC_CHANNEL_MODE_INVITE) {
       if (!channel->invite_list ||