updates.
[silc.git] / apps / silcd / command_reply.c
index 5ac3cb09f1f5481f3aef482667d0191476422034..c718c3baebde33a3a8f4d7dc18d2b03208118efb 100644 (file)
@@ -172,7 +172,7 @@ silc_server_command_reply_whois_save(SilcServerCommandReplyContext cmd)
   if (!client) {
     /* If router did not find such Client ID in its lists then this must
        be bogus client or some router in the net is buggy. */
-    if (server->server_type == SILC_ROUTER)
+    if (server->server_type != SILC_SERVER)
       return FALSE;
 
     /* Take hostname out of nick string if it includes it. */
@@ -299,7 +299,7 @@ silc_server_command_reply_whowas_save(SilcServerCommandReplyContext cmd)
   if (!client) {
     /* If router did not find such Client ID in its lists then this must
        be bogus client or some router in the net is buggy. */
-    if (server->server_type == SILC_ROUTER)
+    if (server->server_type != SILC_SERVER)
       return FALSE;
 
     /* Take hostname out of nick string if it includes it. */
@@ -424,7 +424,7 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd)
     if (!client) {
       /* If router did not find such Client ID in its lists then this must
         be bogus client or some router in the net is buggy. */
-      if (server->server_type == SILC_ROUTER)
+      if (server->server_type != SILC_SERVER)
        goto error;
 
       /* Take nickname */
@@ -496,7 +496,7 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd)
     if (!server_entry) {
       /* If router did not find such Server ID in its lists then this must
         be bogus server or some router in the net is buggy. */
-      if (server->server_type == SILC_ROUTER)
+      if (server->server_type != SILC_SERVER)
        goto error;
       
       /* We don't have that server anywhere, add it. */
@@ -531,7 +531,7 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd)
     if (!channel) {
       /* If router did not find such Channel ID in its lists then this must
         be bogus channel or some router in the net is buggy. */
-      if (server->server_type == SILC_ROUTER)
+      if (server->server_type != SILC_SERVER)
        goto error;
       
       /* We don't have that server anywhere, add it. */
@@ -813,6 +813,7 @@ SILC_SERVER_CMD_REPLY_FUNC(join)
       silc_free(id);
       goto out;
     }
+    server->stat.my_channels++;
   } else {
     /* The entry exists. */
     if (cache->id)
@@ -833,7 +834,7 @@ SILC_SERVER_CMD_REPLY_FUNC(join)
 
   if (entry->hmac_name && hmac) {
     silc_free(entry->hmac_name);
-    entry->hmac_name = strdup(hmac->hmac->name);
+    entry->hmac_name = strdup(silc_hmac_get_name(hmac));
   }
 
   /* Get the ban list */
@@ -931,7 +932,7 @@ SILC_SERVER_CMD_REPLY_FUNC(users)
     if (!channel) {
       SilcBuffer idp;
 
-      if (server->server_type == SILC_ROUTER)
+      if (server->server_type != SILC_SERVER)
        goto out;
 
       idp = silc_id_payload_encode(channel_id, SILC_ID_CHANNEL);