Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
- Copyright (C) 1997 - 2000 Pekka Riikonen
+ Copyright (C) 1997 - 2001 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
GNU General Public License for more details.
*/
-/*
- * $Id$
- * $Log$
- * Revision 1.2 2001/02/02 13:34:45 priikone
- * updates.
- *
- * Revision 1.1.1.1 2000/06/27 11:36:56 priikone
- * Importet from internal CVS/Added Log headers.
- *
- *
- */
+/* $Id$ */
#include "serverincludes.h"
SILC_LOG_DEBUG(("Creating new Server ID"));
*new_id = silc_calloc(1, sizeof(**new_id));
- if (*new_id == NULL) {
- SILC_LOG_ERROR(("Could not allocate new Server ID"));
- return;
- }
/* Get IP address */
len = sizeof(server);
}
/* Create the ID */
- (*new_id)->ip = server.sin_addr;
+ SILC_PUT32_MSB(server.sin_addr.s_addr, (*new_id)->ip.data);
+ (*new_id)->ip.data_len = 4;
(*new_id)->port = server.sin_port;
(*new_id)->rnd = silc_rng_get_rn16(rng);
SILC_LOG_DEBUG(("Creating new Client ID"));
*new_id = silc_calloc(1, sizeof(**new_id));
- if (*new_id == NULL) {
- SILC_LOG_ERROR(("Could not allocate new Client ID"));
- return;
- }
/* Create hash of the nickanem */
silc_hash_make(md5hash, nickname, strlen(nickname), hash);
/* Create the ID */
- (*new_id)->ip.s_addr = server_id->ip.s_addr;
+ memcpy((*new_id)->ip.data, server_id->ip.data, server_id->ip.data_len);
+ (*new_id)->ip.data_len = server_id->ip.data_len;
(*new_id)->rnd = silc_rng_get_byte(rng);
memcpy((*new_id)->hash, hash, CLIENTID_HASH_LEN);
SILC_LOG_DEBUG(("Creating new Channel ID"));
*new_id = silc_calloc(1, sizeof(**new_id));
- if (*new_id == NULL) {
- SILC_LOG_ERROR(("Could not allocate new Channel ID"));
- return;
- }
/* Create the ID */
- (*new_id)->ip.s_addr = router_id->ip.s_addr;
+ memcpy((*new_id)->ip.data, router_id->ip.data, router_id->ip.data_len);
+ (*new_id)->ip.data_len = router_id->ip.data_len;
(*new_id)->port = router_id->port;
(*new_id)->rnd = silc_rng_get_rn16(rng);