projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
silcd: handle SIGNOFF notify for local clients correctly
[silc.git]
/
apps
/
silcd
/
server.c
diff --git
a/apps/silcd/server.c
b/apps/silcd/server.c
index 9fb4aaf3acb9e1ff9142fc8341c7b38011921d78..e18c7de0c4674804e4b5d5b0fc2235f2cc223acb 100644
(file)
--- a/
apps/silcd/server.c
+++ b/
apps/silcd/server.c
@@
-2627,6
+2627,8
@@
silc_server_accept_auth_compl(SilcConnAuth connauth, SilcBool success,
/* Add connection to server->conns so that we know we have connection
to this peer. */
sconn = silc_calloc(1, sizeof(*sconn));
/* Add connection to server->conns so that we know we have connection
to this peer. */
sconn = silc_calloc(1, sizeof(*sconn));
+ if (!sconn)
+ goto out;
sconn->server = server;
sconn->sock = sock;
sconn->remote_host = strdup(hostname);
sconn->server = server;
sconn->sock = sock;
sconn->remote_host = strdup(hostname);
@@
-3020,6
+3022,10
@@
static void silc_server_rekey(SilcServer server, SilcPacketStream sock,
silc_packet_free(packet);
return;
}
silc_packet_free(packet);
return;
}
+ if (idata->conn_type == SILC_CONN_UNKNOWN) {
+ silc_packet_free(packet);
+ return;
+ }
SILC_LOG_DEBUG(("Executing rekey protocol with %s:%d [%s], sock %p",
idata->sconn->remote_host, idata->sconn->remote_port,
SILC_LOG_DEBUG(("Executing rekey protocol with %s:%d [%s], sock %p",
idata->sconn->remote_host, idata->sconn->remote_port,