updates.
[silc.git] / apps / silcd / packet_receive.c
index eb3f94556926063c5530ca9b6abbb6a6c0aeeb94..55ed8819d9508b6487dc988198f3d7abb6e111f3 100644 (file)
@@ -174,8 +174,12 @@ void silc_server_notify(SilcServer server,
     channel = silc_idlist_find_channel_by_id(server->local_list, 
                                             channel_id, NULL);
     if (!channel) { 
-      silc_free(channel_id);
-      goto out;
+      channel = silc_idlist_find_channel_by_id(server->global_list, 
+                                              channel_id, NULL);
+      if (!channel) {
+       silc_free(channel_id);
+       goto out;
+      }
     }
 
     /* Get client ID */
@@ -1043,6 +1047,9 @@ SilcClientEntry silc_server_new_client(SilcServer server,
   silc_id_create_client_id(server->id, server->rng, server->md5hash,
                           username, &client_id);
 
+  if (strlen(username) > 128)
+    username[127] = '\0';
+
   /* Update client entry */
   idata->registered = TRUE;
   client->nickname = strdup(username);