Merged from silc_1_0_branch (second merge).
[silc.git] / apps / silcd / serverid.c
index fdb0cd9df21dfe85f629b58c5be3e437f72f2a49..7d8fdea5c1f059e28cf8ffd9d779677c8d2c75f4 100644 (file)
@@ -42,7 +42,7 @@ void silc_id_create_server_id(const char *ip, SilcUInt16 port, SilcRng rng,
   }
 
   (*new_id)->ip.data_len = silc_net_is_ip4(ip) ? 4 : 16;
-  (*new_id)->port = htons(port);
+  (*new_id)->port = SILC_SWAB_16(port);
   (*new_id)->rnd = silc_rng_get_rn16(rng);
 
   SILC_LOG_DEBUG(("New ID (%s)", silc_id_render(*new_id, SILC_ID_SERVER)));
@@ -61,13 +61,16 @@ bool silc_id_create_client_id(SilcServer server,
 {
   unsigned char hash[16];
   bool finding = FALSE;
+  char nick[128 + 1];
 
   SILC_LOG_DEBUG(("Creating new Client ID"));
 
   *new_id = silc_calloc(1, sizeof(**new_id));
 
   /* Create hash of the nickanem */
-  silc_hash_make(md5hash, nickname, strlen(nickname), hash);
+  memset(nick, 0, sizeof(nick));
+  silc_to_lower(nickname, nick, sizeof(nick) - 1);
+  silc_hash_make(md5hash, nick, strlen(nick), hash);
 
   /* Create the ID */
   memcpy((*new_id)->ip.data, server_id->ip.data, server_id->ip.data_len);