projects
/
silc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c1ce212
)
Added support for SILC protocol 1.3 NEW_CLIENT packet.
author
Pekka Riikonen
<priikone@silcnet.org>
Fri, 2 Feb 2007 20:30:34 +0000
(20:30 +0000)
committer
Pekka Riikonen
<priikone@silcnet.org>
Fri, 2 Feb 2007 20:30:34 +0000
(20:30 +0000)
lib/silcclient/client_register.c
patch
|
blob
|
history
diff --git
a/lib/silcclient/client_register.c
b/lib/silcclient/client_register.c
index 43e15e429768e7ad6eea6856da922f3a0e782c25..88726f5ea2f6961a4cb03ad63b065a2e089db9e4 100644
(file)
--- a/
lib/silcclient/client_register.c
+++ b/
lib/silcclient/client_register.c
@@
-156,9
+156,15
@@
SILC_FSM_STATE(silc_client_st_register)
{
SilcClientConnection conn = fsm_context;
SilcClient client = conn->client;
{
SilcClientConnection conn = fsm_context;
SilcClient client = conn->client;
+ char *nick = NULL;
SILC_LOG_DEBUG(("Register to network"));
SILC_LOG_DEBUG(("Register to network"));
+ /* 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);
+
/* Send NEW_CLIENT packet to register to network */
if (!silc_packet_send_va(conn->stream, SILC_PACKET_NEW_CLIENT, 0,
SILC_STR_UI_SHORT(strlen(client->username)),
/* Send NEW_CLIENT packet to register to network */
if (!silc_packet_send_va(conn->stream, SILC_PACKET_NEW_CLIENT, 0,
SILC_STR_UI_SHORT(strlen(client->username)),
@@
-167,6
+173,8
@@
SILC_FSM_STATE(silc_client_st_register)
SILC_STR_UI_SHORT(strlen(client->realname)),
SILC_STR_DATA(client->realname,
strlen(client->realname)),
SILC_STR_UI_SHORT(strlen(client->realname)),
SILC_STR_DATA(client->realname,
strlen(client->realname)),
+ SILC_STR_UI_SHORT(nick ? strlen(nick) : 0),
+ SILC_STR_DATA(nick, nick ? strlen(nick) : 0),
SILC_STR_END)) {
/** Error sending packet */
silc_fsm_next(fsm, silc_client_st_register_error);
SILC_STR_END)) {
/** Error sending packet */
silc_fsm_next(fsm, silc_client_st_register_error);
@@
-221,9
+229,9
@@
SILC_FSM_STATE(silc_client_st_register_complete)
1, 5, silc_buffer_data(conn->internal->local_idp),
silc_buffer_len(conn->internal->local_idp));
1, 5, silc_buffer_data(conn->internal->local_idp),
silc_buffer_len(conn->internal->local_idp));
- /*
Call NICK command if the nickname was set by the application (and i
s
-
not same as the username)
. */
- if (conn->internal->params.nickname &&
+ /*
With SILC protocol version 1.2 call NICK command if the nickname wa
s
+
set by the application
. */
+ if (conn->internal->params.nickname &&
conn->internal->remote_version < 13 &&
!silc_utf8_strcasecmp(conn->internal->params.nickname, client->username))
silc_client_command_call(client, conn, NULL,
"NICK", conn->internal->params.nickname, NULL);
!silc_utf8_strcasecmp(conn->internal->params.nickname, client->username))
silc_client_command_call(client, conn, NULL,
"NICK", conn->internal->params.nickname, NULL);