X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fidlist.c;h=aca1c2812721eecdc43ee94ab6abcb2ee48b16e6;hb=f9b6b6d91114fc1249b53ad4a77b3f1e974d8eef;hp=86b603179b036ce579ec3329c0d1f5b8dff85fff;hpb=e96b79d78414a23916553e436f1b88fc02916fd7;p=runtime.git diff --git a/apps/silcd/idlist.c b/apps/silcd/idlist.c index 86b60317..aca1c281 100644 --- a/apps/silcd/idlist.c +++ b/apps/silcd/idlist.c @@ -36,6 +36,7 @@ void silc_idlist_add_data(void *entry, SilcIDListData idata) SilcIDListData data = (SilcIDListData)entry; data->send_key = idata->send_key; data->receive_key = idata->receive_key; + data->hash = idata->hash; data->hmac = idata->hmac; data->hmac_key = idata->hmac_key; data->hmac_key_len = idata->hmac_key_len; @@ -179,8 +180,9 @@ silc_idlist_find_server_by_conn(SilcIDList id_list, char *hostname, server = (SilcServerEntry)id_cache->context; sock = (SilcSocketConnection)server->connection; - if (sock && (!strcmp(sock->hostname, hostname) || - !strcmp(sock->ip, hostname)) && sock->port == port) + if (sock && ((sock->hostname && !strcmp(sock->hostname, hostname)) || + (sock->ip && !strcmp(sock->ip, hostname))) + && sock->port == port) break; id_cache = NULL;