X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient_register.c;fp=lib%2Fsilcclient%2Fclient_register.c;h=9bf29987c7a0332ffa724633527d771c151d469b;hp=b021abc6c0f6eb0e1734fce15b3321b717277d76;hb=b3bc1d0b9cfd8a8c921ac01a82da60daef73a6a1;hpb=0acaad242f0f86c355caa8c017a560fa03583586 diff --git a/lib/silcclient/client_register.c b/lib/silcclient/client_register.c index b021abc6..9bf29987 100644 --- a/lib/silcclient/client_register.c +++ b/lib/silcclient/client_register.c @@ -78,6 +78,7 @@ SILC_FSM_STATE(silc_client_new_id) SilcClientConnection conn = fsm_context; SilcClient client = conn->client; SilcPacket packet = state_context; + char *nick; SilcID id; if (conn->local_id) @@ -92,9 +93,15 @@ SILC_FSM_STATE(silc_client_new_id) SILC_LOG_DEBUG(("New ID %s", silc_id_render(&id.u.client_id, SILC_ID_CLIENT))); + /* From SILC protocol version 1.3, nickname is in NEW_CLIENT packet */ + if (conn->internal->remote_version >= 13) + nick = (conn->internal->params.nickname ? + conn->internal->params.nickname : client->username); + else + nick = client->username; + /* Create local client entry */ - conn->local_entry = silc_client_add_client(client, conn, - client->username, + conn->local_entry = silc_client_add_client(client, conn, nick, client->username, client->realname, &id.u.client_id, 0);