/*
- id.c
+ serverid.c
- Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+ Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2001 Pekka Riikonen
+ Copyright (C) 1997 - 2002 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
/* Creates a Server ID. Newly created Server ID is returned to the
new_id argument. */
-void silc_id_create_server_id(const char *ip, SilcUInt16 port, SilcRng rng,
+void silc_id_create_server_id(const char *ip, SilcUInt16 port, SilcRng rng,
SilcServerID **new_id)
{
SILC_LOG_DEBUG(("Creating new Server ID"));
/* Create the ID */
- if (!silc_net_addr2bin(ip, (*new_id)->ip.data,
+ if (!silc_net_addr2bin(ip, (*new_id)->ip.data,
sizeof((*new_id)->ip.data))) {
silc_free(*new_id);
*new_id = NULL;
}
(*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)));
{
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);