[Pkg-silc-commits] r286 - in /silc-server/trunk: ./ apps/ apps/silcd/ debian/ doc/ includes/ lib/ lib/contrib/ lib/silcapputil/ lib/silcasn1/ lib/silccore/ lib/silccrypt/ lib/silchttp/ lib/silcmath/ lib/silcske/ lib/silcskr/ lib/silcutil/ lib/silcutil/unix/
lunar at users.alioth.debian.org
lunar at users.alioth.debian.org
Sat Jul 5 19:07:40 UTC 2008
Author: lunar
Date: Sat Jul 5 19:07:40 2008
New Revision: 286
URL: http://svn.debian.org/wsvn/pkg-silc/?sc=1&rev=286
Log:
New upstream release (1.1.11)
Modified:
silc-server/trunk/ChangeLog
silc-server/trunk/Makefile.am
silc-server/trunk/Makefile.in
silc-server/trunk/apps/Makefile.am
silc-server/trunk/apps/Makefile.in
silc-server/trunk/apps/silcd/command_reply.c
silc-server/trunk/apps/silcd/idlist.c
silc-server/trunk/apps/silcd/packet_receive.c
silc-server/trunk/apps/silcd/packet_send.c
silc-server/trunk/apps/silcd/server.c
silc-server/trunk/apps/silcd/server_util.c
silc-server/trunk/apps/silcd/silc-server.spec
silc-server/trunk/configure
silc-server/trunk/configure.ac
silc-server/trunk/debian/changelog
silc-server/trunk/doc/Makefile.am
silc-server/trunk/doc/Makefile.in
silc-server/trunk/includes/Makefile.am
silc-server/trunk/includes/Makefile.in
silc-server/trunk/includes/silcdistdefs.h
silc-server/trunk/lib/Makefile.am
silc-server/trunk/lib/Makefile.in
silc-server/trunk/lib/contrib/Makefile.am
silc-server/trunk/lib/contrib/Makefile.in
silc-server/trunk/lib/silcapputil/Makefile.am
silc-server/trunk/lib/silcapputil/Makefile.in
silc-server/trunk/lib/silcasn1/Makefile.am
silc-server/trunk/lib/silcasn1/Makefile.in
silc-server/trunk/lib/silccore/Makefile.am
silc-server/trunk/lib/silccore/Makefile.in
silc-server/trunk/lib/silccore/silcpacket.c
silc-server/trunk/lib/silccrypt/Makefile.am
silc-server/trunk/lib/silccrypt/Makefile.in
silc-server/trunk/lib/silccrypt/aes_x86.asm
silc-server/trunk/lib/silccrypt/aes_x86_64.asm
silc-server/trunk/lib/silchttp/Makefile.am
silc-server/trunk/lib/silchttp/Makefile.in
silc-server/trunk/lib/silcmath/Makefile.am
silc-server/trunk/lib/silcmath/Makefile.in
silc-server/trunk/lib/silcske/Makefile.am
silc-server/trunk/lib/silcske/Makefile.in
silc-server/trunk/lib/silcskr/Makefile.am
silc-server/trunk/lib/silcskr/Makefile.in
silc-server/trunk/lib/silcutil/Makefile.am
silc-server/trunk/lib/silcutil/Makefile.in
silc-server/trunk/lib/silcutil/silcbuffmt.c
silc-server/trunk/lib/silcutil/silcutil.c
silc-server/trunk/lib/silcutil/unix/silcunixnet.c
Modified: silc-server/trunk/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/ChangeLog?rev=286&op=diff
==============================================================================
--- silc-server/trunk/ChangeLog (original)
+++ silc-server/trunk/ChangeLog Sat Jul 5 19:07:40 2008
@@ -1,8 +1,17 @@
-commit e10fb3ff712f60100846064c196d5f69921d1b43
+commit 4d26d9f598384d7cd49c6238ea4a81b9f4e6f212
Author: Pekka Riikonen <priikone at silcnet.org>
-Date: Sun Apr 20 22:53:47 2008 +0300
+Date: Sun Jun 22 17:42:40 2008 +0300
- Cancel rekey timeout when closing connection.
+ Remove client from expired client list before deleting it
- apps/silcd/server.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
+commit 32607f5db7ea3393765be5421e754ef191894dd5
+Author: Pekka Riikonen <priikone at silcnet.org>
+Date: Sun Jun 22 16:56:36 2008 +0300
+
+ Fixed the silc_parse_userqfdn argument handling, again.
+
+ apps/silcd/command_reply.c | 2 ++
+ apps/silcd/packet_receive.c | 7 ++++++-
+ apps/silcd/server_util.c | 3 +++
+ lib/silcutil/silcutil.c | 8 +++++---
+ 4 files changed, 16 insertions(+), 4 deletions(-)
Modified: silc-server/trunk/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/Makefile.am (original)
+++ silc-server/trunk/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./Makefile.ad file in the source tree.
# Source: ./Makefile.ad
-# Generated: Tue Apr 22 15:25:36 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/Makefile.in (original)
+++ silc-server/trunk/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./Makefile.ad file in the source tree.
# Source: ./Makefile.ad
-# Generated: Tue Apr 22 15:25:36 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/apps/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/Makefile.am (original)
+++ silc-server/trunk/apps/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./apps/Makefile.ad file in the source tree.
# Source: ./apps/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/apps/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/Makefile.in (original)
+++ silc-server/trunk/apps/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./apps/Makefile.ad file in the source tree.
# Source: ./apps/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/apps/silcd/command_reply.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/command_reply.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/command_reply.c (original)
+++ silc-server/trunk/apps/silcd/command_reply.c Sat Jul 5 19:07:40 2008
@@ -152,6 +152,7 @@
silc_server_remove_from_channels(server, NULL, client, TRUE,
NULL, TRUE, FALSE);
+ silc_dlist_del(server->expired_clients, client);
silc_idlist_del_data(client);
silc_idlist_del_client(server->global_list, client);
}
@@ -533,6 +534,7 @@
client->servername = servername[0] ? strdup(servername) : NULL;
client->data.status |= SILC_IDLIST_STATUS_RESOLVED;
client->data.status &= ~SILC_IDLIST_STATUS_RESOLVING;
+ client->data.status &= ~SILC_IDLIST_STATUS_REGISTERED;
/* Update cache entry */
silc_idcache_update_by_context(global ? server->global_list->clients :
@@ -543,10 +545,13 @@
/* If client is global and is not on any channel then add that we'll
expire the entry after a while. */
if (global) {
- silc_idlist_find_client_by_id(server->global_list, client->id,
- FALSE, &cache);
- if (!silc_hash_table_count(client->channels))
+ client = silc_idlist_find_client_by_id(server->global_list, client->id,
+ FALSE, &cache);
+ if (client && !silc_hash_table_count(client->channels)) {
+ client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
+ }
}
return TRUE;
Modified: silc-server/trunk/apps/silcd/idlist.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/idlist.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/idlist.c (original)
+++ silc-server/trunk/apps/silcd/idlist.c Sat Jul 5 19:07:40 2008
@@ -326,7 +326,7 @@
int ret;
ret = silc_parse_userfqdn(username, u, sizeof(u), h, sizeof(h));
- if (!u)
+ if (!ret)
return NULL;
if (!silc_identifier_verify(u, strlen(u), SILC_STRING_UTF8, 128))
return NULL;
Modified: silc-server/trunk/apps/silcd/packet_receive.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/packet_receive.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/packet_receive.c (original)
+++ silc-server/trunk/apps/silcd/packet_receive.c Sat Jul 5 19:07:40 2008
@@ -356,6 +356,8 @@
client->mode = 0;
client->router = NULL;
client->connection = NULL;
+ client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
break;
@@ -1263,6 +1265,7 @@
silc_server_del_from_watcher_list(server, client);
/* Remove the client */
+ silc_dlist_del(server->expired_clients, client);
silc_idlist_del_data(client);
silc_idlist_del_client(local ? server->local_list :
server->global_list, client);
@@ -1504,6 +1507,8 @@
client->mode = 0;
client->router = NULL;
client->connection = NULL;
+ client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
break;
}
@@ -1664,6 +1669,7 @@
silc_server_remove_from_channels(server, NULL, client, TRUE,
NULL, TRUE, FALSE);
+ silc_dlist_del(server->expired_clients, client);
silc_idlist_del_data(client);
silc_idlist_del_client(server->global_list, client);
}
@@ -3715,6 +3721,7 @@
detached_client->data.status &= ~SILC_IDLIST_STATUS_RESUME_RES;
detached_client->mode &= ~SILC_UMODE_DETACHED;
server->stat.my_detached--;
+ silc_dlist_del(server->expired_clients, detached_client);
/* We are finished - reset resuming client */
detached_client->resuming_client = NULL;
@@ -3732,6 +3739,7 @@
silc_server_remove_from_channels(server, NULL, client, FALSE,
NULL, FALSE, FALSE);
silc_server_del_from_watcher_list(server, client);
+ silc_dlist_del(server->expired_clients, client);
if (!silc_idlist_del_client(server->local_list, client))
silc_idlist_del_client(server->global_list, client);
client = detached_client;
Modified: silc-server/trunk/apps/silcd/packet_send.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/packet_send.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/packet_send.c (original)
+++ silc-server/trunk/apps/silcd/packet_send.c Sat Jul 5 19:07:40 2008
@@ -1442,10 +1442,11 @@
tmp_len = strlen(cipher);
packet = silc_channel_key_payload_encode(cid_len, cid, tmp_len, cipher,
channel->key_len / 8, channel->key);
- silc_server_packet_send_to_channel(server, sender, channel,
- SILC_PACKET_CHANNEL_KEY,
- route, TRUE, packet->data,
- silc_buffer_len(packet));
+ if (packet)
+ silc_server_packet_send_to_channel(server, sender, channel,
+ SILC_PACKET_CHANNEL_KEY,
+ route, TRUE, packet->data,
+ silc_buffer_len(packet));
silc_buffer_free(packet);
}
Modified: silc-server/trunk/apps/silcd/server.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/server.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/server.c (original)
+++ silc-server/trunk/apps/silcd/server.c Sat Jul 5 19:07:40 2008
@@ -194,7 +194,7 @@
SilcServer server = callback_context;
SilcIDListData idata = silc_packet_get_context(stream);
- SILC_LOG_DEBUG(("End of stream received"));
+ SILC_LOG_DEBUG(("End of stream received, sock %p", stream));
if (!idata)
return;
@@ -258,6 +258,8 @@
SilcStream sock = silc_packet_stream_get_stream(stream);
const char *ip;
SilcUInt16 port;
+
+ SILC_LOG_DEBUG(("Packet error, sock %p", stream));
if (!idata || !sock)
return;
@@ -1261,13 +1263,10 @@
silc_dlist_start(server->expired_clients);
while ((client = silc_dlist_get(server->expired_clients))) {
- if (client->data.status & SILC_IDLIST_STATUS_REGISTERED)
- continue;
-
/* For unregistered clients the created timestamp is actually
unregistered timestamp. Make sure client remains in history
at least 500 seconds. */
- if (curtime - client->data.created < 500)
+ if (client->data.created && curtime - client->data.created < 500)
continue;
id_list = (client->data.status & SILC_IDLIST_STATUS_LOCAL ?
@@ -1290,6 +1289,8 @@
void silc_server_connection_free(SilcServerConnection sconn)
{
+ if (!sconn)
+ return;
SILC_LOG_DEBUG(("Free connection %p", sconn));
silc_dlist_del(sconn->server->conns, sconn);
silc_server_config_unref(&sconn->conn);
@@ -1345,7 +1346,8 @@
SilcID remote_id;
const char *ip;
- SILC_LOG_DEBUG(("Connection %p authentication completed", sconn));
+ SILC_LOG_DEBUG(("Connection %p authentication completed, entry %p",
+ sconn, entry));
entry->op = NULL;
@@ -1353,12 +1355,11 @@
/* Authentication failed */
/* XXX retry connecting */
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_AUTH_FAILED, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_AUTH_FAILED, NULL);
return;
}
@@ -1380,13 +1381,11 @@
strdup(sconn->remote_host),
SILC_SERVER, NULL, NULL, sconn->sock);
if (!id_entry) {
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
- silc_free(entry);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
return;
}
@@ -1411,13 +1410,11 @@
SILC_STR_DATA(server->server_name,
strlen(server->server_name)),
SILC_STR_END)) {
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
- silc_free(entry);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
return;
}
@@ -1451,13 +1448,11 @@
SILC_ID_SERVER),
NULL, sconn->sock);
if (!id_entry) {
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
- silc_free(entry);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
return;
}
@@ -1516,12 +1511,11 @@
/* We already have primary router. Disconnect this connection */
SILC_LOG_DEBUG(("We already have primary router, disconnect"));
silc_idlist_del_server(server->global_list, id_entry);
+ if (sconn->callback)
+ (*sconn->callback)(server, NULL, sconn->callback_context);
+ silc_server_free_sock_user_data(server, sconn->sock, NULL);
silc_server_disconnect_remote(server, sconn->sock,
SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
- if (sconn->callback)
- (*sconn->callback)(server, NULL, sconn->callback_context);
- silc_server_connection_free(sconn);
- silc_free(entry);
return;
#endif /* 0 */
}
@@ -1535,13 +1529,11 @@
break;
default:
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_AUTH_FAILED, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
- silc_free(entry);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_AUTH_FAILED, NULL);
return;
}
@@ -1581,7 +1573,7 @@
{
SilcPacketStream sock = context;
SilcUnknownEntry entry = silc_packet_get_context(sock);
- SilcServerConnection sconn = silc_ske_get_context(ske);
+ SilcServerConnection sconn = entry->data.sconn;
SilcServer server = entry->server;
SilcServerConfigRouter *conn = sconn->conn.ref_ptr;
SilcAuthMethod auth_meth = SILC_AUTH_NONE;
@@ -1592,7 +1584,7 @@
SilcHmac hmac_send, hmac_receive;
SilcHash hash;
- SILC_LOG_DEBUG(("Connection %p, SKE completed", sconn));
+ SILC_LOG_DEBUG(("Connection %p, SKE completed, entry %p", sconn, entry));
entry->op = NULL;
@@ -1603,12 +1595,11 @@
/* XXX retry connecting */
silc_ske_free(ske);
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
return;
}
@@ -1622,12 +1613,11 @@
/* Error setting keys */
silc_ske_free(ske);
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
return;
}
silc_packet_set_keys(sconn->sock, send_key, receive_key, hmac_send,
@@ -1642,12 +1632,11 @@
/** Error allocating auth protocol */
silc_ske_free(ske);
- silc_server_disconnect_remote(server, sconn->sock,
- SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
silc_server_free_sock_user_data(server, sconn->sock, NULL);
- silc_server_connection_free(sconn);
+ silc_server_disconnect_remote(server, sconn->sock,
+ SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
return;
}
@@ -1709,9 +1698,9 @@
/* Set source ID to packet stream */
if (!silc_packet_set_ids(sconn->sock, SILC_ID_SERVER, server->id,
0, NULL)) {
- silc_packet_stream_destroy(sconn->sock);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
+ silc_packet_stream_destroy(sconn->sock);
silc_server_connection_free(sconn);
return;
}
@@ -1724,7 +1713,10 @@
return;
}
entry->server = server;
+ entry->data.sconn = sconn;
silc_packet_set_context(sconn->sock, entry);
+
+ SILC_LOG_DEBUG(("Created unknown connection %p", entry));
/* Set Key Exchange flags from configuration, but fall back to global
settings too. */
@@ -1739,9 +1731,9 @@
server->public_key, server->private_key, sconn);
if (!ske) {
silc_free(entry);
- silc_packet_stream_destroy(sconn->sock);
if (sconn->callback)
(*sconn->callback)(server, NULL, sconn->callback_context);
+ silc_packet_stream_destroy(sconn->sock);
silc_server_connection_free(sconn);
return;
}
@@ -2155,6 +2147,9 @@
server->stat.auth_failures++;
silc_server_disconnect_remote(server, sock,
SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
goto out;
}
@@ -2194,6 +2189,9 @@
SILC_STATUS_ERR_PERM_DENIED,
"We do not have connection to backup "
"router established, try later");
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
server->stat.auth_failures++;
@@ -2219,6 +2217,9 @@
server->stat.auth_failures++;
silc_server_disconnect_remote(server, sock,
SILC_STATUS_ERR_AUTH_FAILED, NULL);
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
goto out;
}
@@ -2286,6 +2287,9 @@
SILC_STATUS_ERR_PERM_DENIED,
"We do not have connection to primary "
"router established, try later");
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
server->stat.auth_failures++;
goto out;
@@ -2298,6 +2302,9 @@
&server->config->param,
rconn ? rconn->param : NULL,
silc_connauth_get_ske(connauth))) {
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
server->stat.auth_failures++;
goto out;
}
@@ -2374,6 +2381,9 @@
SILC_STATUS_ERR_PERM_DENIED,
"We do not have connection to backup "
"router established, try later");
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
server->stat.auth_failures++;
@@ -2415,6 +2425,9 @@
SILC_LOG_ERROR(("Could not add new server to cache"));
silc_server_disconnect_remote(server, sock,
SILC_STATUS_ERR_AUTH_FAILED, NULL);
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
server->stat.auth_failures++;
goto out;
@@ -2539,6 +2552,9 @@
silc_ske_free(ske);
silc_server_disconnect_remote(server, sock,
SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL);
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
return;
}
@@ -2575,6 +2591,9 @@
silc_ske_free(ske);
silc_server_disconnect_remote(server, sock,
SILC_STATUS_ERR_RESOURCE_LIMIT, NULL);
+ silc_server_config_unref(&entry->cconfig);
+ silc_server_config_unref(&entry->sconfig);
+ silc_server_config_unref(&entry->rconfig);
silc_server_free_sock_user_data(server, sock, NULL);
return;
}
@@ -2634,6 +2653,8 @@
return;
}
server->stat.conn_num++;
+
+ SILC_LOG_DEBUG(("Created packet stream %p", packet_stream));
/* Set source ID to packet stream */
if (!silc_packet_set_ids(packet_stream, SILC_ID_SERVER, server->id,
@@ -2693,6 +2714,8 @@
entry->data.conn_type = SILC_CONN_UNKNOWN;
silc_packet_set_context(packet_stream, entry);
+ SILC_LOG_DEBUG(("Created unknown connection %p", entry));
+
silc_server_config_ref(&entry->cconfig, server->config, cconfig);
silc_server_config_ref(&entry->sconfig, server->config, sconfig);
silc_server_config_ref(&entry->rconfig, server->config, rconfig);
@@ -2842,9 +2865,9 @@
SilcIDListData idata = silc_packet_get_context(sock);
SilcSKE ske;
- SILC_LOG_DEBUG(("Executing rekey protocol with %s:%d [%s]",
+ SILC_LOG_DEBUG(("Executing rekey protocol with %s:%d [%s], sock %p",
idata->sconn->remote_host, idata->sconn->remote_port,
- SILC_CONNTYPE_STRING(idata->conn_type)));
+ SILC_CONNTYPE_STRING(idata->conn_type), sock));
/* Allocate SKE */
ske = silc_ske_alloc(server->rng, server->schedule, NULL,
@@ -2928,7 +2951,7 @@
if (!sock)
return;
- SILC_LOG_DEBUG(("Disconnecting remote host"));
+ SILC_LOG_DEBUG(("Disconnecting remote host, sock %p", sock));
va_start(ap, status);
cp = va_arg(ap, char *);
@@ -3010,6 +3033,7 @@
client->router = NULL;
client->connection = NULL;
client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
} else {
/* Delete directly since we're shutting down server */
@@ -3027,12 +3051,16 @@
SilcPacketStream sock,
const char *signoff_message)
{
- SilcIDListData idata = silc_packet_get_context(sock);
+ SilcIDListData idata;
const char *ip;
SilcUInt16 port;
- SILC_LOG_DEBUG(("Start"));
-
+ if (!sock)
+ return;
+
+ SILC_LOG_DEBUG(("Start, sock %p", sock));
+
+ idata = silc_packet_get_context(sock);
if (!idata)
return;
@@ -3220,8 +3248,10 @@
}
server->backup_noswitch = FALSE;
- if (idata->sconn)
+ if (idata->sconn) {
silc_server_connection_free(idata->sconn);
+ idata->sconn = NULL;
+ }
/* Statistics */
if (idata->conn_type == SILC_CONN_SERVER) {
@@ -3265,10 +3295,18 @@
{
SilcUnknownEntry entry = (SilcUnknownEntry)idata;
- SILC_LOG_DEBUG(("Freeing unknown connection data"));
-
- if (idata->sconn)
+ SILC_LOG_DEBUG(("Freeing unknown connection data %p", entry));
+
+ if (idata->sconn) {
+ if (server->router_conn == idata->sconn) {
+ if (!server->no_reconnect)
+ silc_server_create_connections(server);
+ server->router_conn = NULL;
+ }
+
silc_server_connection_free(idata->sconn);
+ idata->sconn = NULL;
+ }
silc_idlist_del_data(idata);
silc_free(entry);
silc_packet_set_context(sock, NULL);
@@ -3941,6 +3979,7 @@
SilcIDCacheEntry id_cache;
SilcServerEntry entry;
SilcBuffer idp;
+ void *tmp;
/* Go through all clients in the list */
if (silc_idcache_get_all(id_list->servers, &list)) {
@@ -3957,11 +3996,14 @@
idp = silc_id_payload_encode(entry->id, SILC_ID_SERVER);
- *servers = silc_buffer_realloc(*servers,
- (*servers ?
- silc_buffer_truelen((*servers)) +
- silc_buffer_len(idp) :
- silc_buffer_len(idp)));
+ tmp = silc_buffer_realloc(*servers,
+ (*servers ?
+ silc_buffer_truelen((*servers)) +
+ silc_buffer_len(idp) :
+ silc_buffer_len(idp)));
+ if (!tmp)
+ return;
+ *servers = tmp;
silc_buffer_pull_tail(*servers, ((*servers)->end - (*servers)->data));
silc_buffer_put(*servers, idp->data, silc_buffer_len(idp));
silc_buffer_pull(*servers, silc_buffer_len(idp));
@@ -4035,6 +4077,7 @@
SilcBuffer idp;
SilcBuffer tmp;
unsigned char mode[4];
+ void *tmp2;
/* Go through all clients in the list */
if (silc_idcache_get_all(id_list->clients, &list)) {
@@ -4053,12 +4096,17 @@
silc_id_render(client->id, SILC_ID_CLIENT)));
idp = silc_id_payload_encode(client->id, SILC_ID_CLIENT);
-
- *clients = silc_buffer_realloc(*clients,
- (*clients ?
- silc_buffer_truelen((*clients)) +
- silc_buffer_len(idp) :
- silc_buffer_len(idp)));
+ if (!idp)
+ return;
+
+ tmp2 = silc_buffer_realloc(*clients,
+ (*clients ?
+ silc_buffer_truelen((*clients)) +
+ silc_buffer_len(idp) :
+ silc_buffer_len(idp)));
+ if (!tmp2)
+ return;
+ *clients = tmp2;
silc_buffer_pull_tail(*clients, ((*clients)->end - (*clients)->data));
silc_buffer_put(*clients, idp->data, silc_buffer_len(idp));
silc_buffer_pull(*clients, silc_buffer_len(idp));
@@ -4068,11 +4116,14 @@
silc_server_announce_encode_notify(SILC_NOTIFY_TYPE_UMODE_CHANGE,
2, idp->data, silc_buffer_len(idp),
mode, 4);
- *umodes = silc_buffer_realloc(*umodes,
- (*umodes ?
- silc_buffer_truelen((*umodes)) +
- silc_buffer_len(tmp) :
- silc_buffer_len(tmp)));
+ tmp2 = silc_buffer_realloc(*umodes,
+ (*umodes ?
+ silc_buffer_truelen((*umodes)) +
+ silc_buffer_len(tmp) :
+ silc_buffer_len(tmp)));
+ if (!tmp2)
+ return;
+ *umodes = tmp2;
silc_buffer_pull_tail(*umodes, ((*umodes)->end - (*umodes)->data));
silc_buffer_put(*umodes, tmp->data, silc_buffer_len(tmp));
silc_buffer_pull(*umodes, silc_buffer_len(tmp));
@@ -4228,6 +4279,7 @@
int len;
unsigned char mode[4], ulimit[4];
char *hmac;
+ void *tmp2;
SILC_LOG_DEBUG(("Start"));
@@ -4264,10 +4316,13 @@
SILC_CHANNEL_MODE_ULIMIT ?
sizeof(ulimit) : 0));
len = silc_buffer_len(tmp);
- *channel_modes =
+ tmp2 =
silc_buffer_realloc(*channel_modes,
(*channel_modes ?
silc_buffer_truelen((*channel_modes)) + len : len));
+ if (!tmp2)
+ return;
+ *channel_modes = tmp2;
silc_buffer_pull_tail(*channel_modes,
((*channel_modes)->end -
(*channel_modes)->data));
@@ -4292,10 +4347,13 @@
chidp->data,
silc_buffer_len(chidp));
len = silc_buffer_len(tmp);
- *channel_users =
+ tmp2 =
silc_buffer_realloc(*channel_users,
(*channel_users ?
silc_buffer_truelen((*channel_users)) + len : len));
+ if (!tmp2)
+ return;
+ *channel_users = tmp2;
silc_buffer_pull_tail(*channel_users,
((*channel_users)->end -
(*channel_users)->data));
@@ -4317,11 +4375,14 @@
fkey ? fkey->data : NULL,
fkey ? silc_buffer_len(fkey) : 0);
len = silc_buffer_len(tmp);
- *channel_users_modes =
+ tmp2 =
silc_buffer_realloc(*channel_users_modes,
(*channel_users_modes ?
silc_buffer_truelen((*channel_users_modes)) +
len : len));
+ if (!tmp2)
+ return;
+ *channel_users_modes = tmp2;
silc_buffer_pull_tail(*channel_users_modes,
((*channel_users_modes)->end -
(*channel_users_modes)->data));
@@ -4363,6 +4424,7 @@
SilcUInt16 name_len;
int len;
int i = *channel_users_modes_c;
+ void *tmp;
SilcBool announce;
SILC_LOG_DEBUG(("Start"));
@@ -4386,11 +4448,15 @@
if (announce) {
len = 4 + name_len + id_len + 4;
- *channels =
+ tmp =
silc_buffer_realloc(*channels,
(*channels ?
silc_buffer_truelen((*channels)) +
len : len));
+ if (!tmp)
+ break;
+ *channels = tmp;
+
silc_buffer_pull_tail(*channels,
((*channels)->end - (*channels)->data));
silc_buffer_format(*channels,
@@ -4411,15 +4477,23 @@
if (announce) {
/* Channel user modes */
- *channel_users_modes = silc_realloc(*channel_users_modes,
- sizeof(**channel_users_modes) *
- (i + 1));
+ tmp = silc_realloc(*channel_users_modes,
+ sizeof(**channel_users_modes) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_users_modes = tmp;
(*channel_users_modes)[i] = NULL;
- *channel_modes = silc_realloc(*channel_modes,
- sizeof(**channel_modes) * (i + 1));
+ tmp = silc_realloc(*channel_modes,
+ sizeof(**channel_modes) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_modes = tmp;
(*channel_modes)[i] = NULL;
- *channel_ids = silc_realloc(*channel_ids,
- sizeof(**channel_ids) * (i + 1));
+ tmp = silc_realloc(*channel_ids,
+ sizeof(**channel_ids) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_ids = tmp;
(*channel_ids)[i] = NULL;
silc_server_announce_get_channel_users(server, channel,
&(*channel_modes)[i],
@@ -4428,18 +4502,27 @@
(*channel_ids)[i] = channel->id;
/* Channel's topic */
- *channel_topics = silc_realloc(*channel_topics,
- sizeof(**channel_topics) * (i + 1));
+ tmp = silc_realloc(*channel_topics,
+ sizeof(**channel_topics) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_topics = tmp;
(*channel_topics)[i] = NULL;
silc_server_announce_get_channel_topic(server, channel,
&(*channel_topics)[i]);
/* Channel's invite and ban list */
- *channel_invites = silc_realloc(*channel_invites,
- sizeof(**channel_invites) * (i + 1));
+ tmp = silc_realloc(*channel_invites,
+ sizeof(**channel_invites) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_invites = tmp;
(*channel_invites)[i] = NULL;
- *channel_bans = silc_realloc(*channel_bans,
- sizeof(**channel_bans) * (i + 1));
+ tmp = silc_realloc(*channel_bans,
+ sizeof(**channel_bans) * (i + 1));
+ if (!tmp)
+ break;
+ *channel_bans = tmp;
(*channel_bans)[i] = NULL;
silc_server_announce_get_inviteban(server, channel,
&(*channel_invites)[i],
Modified: silc-server/trunk/apps/silcd/server_util.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/server_util.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/server_util.c (original)
+++ silc-server/trunk/apps/silcd/server_util.c Sat Jul 5 19:07:40 2008
@@ -228,6 +228,8 @@
client->mode = 0;
client->router = NULL;
client->connection = NULL;
+ client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
} else {
silc_idlist_del_data(client);
@@ -289,6 +291,8 @@
client->mode = 0;
client->router = NULL;
client->connection = NULL;
+ client->data.created = silc_time();
+ silc_dlist_del(server->expired_clients, client);
silc_dlist_add(server->expired_clients, client);
} else {
silc_idlist_del_data(client);
@@ -1566,6 +1570,7 @@
}
/* Remove remote client */
+ silc_dlist_del(server->expired_clients, remote_client);
silc_idlist_del_data(remote_client);
if (!silc_idlist_del_client(server->global_list, remote_client)) {
/* Remove this client from watcher list if it is */
@@ -2107,6 +2112,8 @@
silc_hash_table_list(channel->channel_pubkeys, &htl);
while (silc_hash_table_get(&htl, NULL, (void *)&pk)) {
pkp = silc_public_key_payload_encode(pk);
+ if (!pkp)
+ continue;
list = silc_argument_payload_encode_one(list, pkp->data,
silc_buffer_len(pkp),
announce ? 0x03 :
Modified: silc-server/trunk/apps/silcd/silc-server.spec
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/apps/silcd/silc-server.spec?rev=286&op=diff
==============================================================================
--- silc-server/trunk/apps/silcd/silc-server.spec (original)
+++ silc-server/trunk/apps/silcd/silc-server.spec Sat Jul 5 19:07:40 2008
@@ -1,6 +1,6 @@
Summary: SILC Server
Name: silc-server
-Version: 1.1.6
+Version: 1.1.11
Release: 0.fc8
License: GPL
Group: Applications/Communications
Modified: silc-server/trunk/configure
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/configure?rev=286&op=diff
==============================================================================
--- silc-server/trunk/configure (original)
+++ silc-server/trunk/configure Sat Jul 5 19:07:40 2008
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Server 1.1.6.
+# Generated by GNU Autoconf 2.61 for Server 1.1.11.
#
# Report bugs to <silc-devel at lists.silcnet.org>.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='Server'
PACKAGE_TARNAME='silc-server'
-PACKAGE_VERSION='1.1.6'
-PACKAGE_STRING='Server 1.1.6'
+PACKAGE_VERSION='1.1.11'
+PACKAGE_STRING='Server 1.1.11'
PACKAGE_BUGREPORT='silc-devel at lists.silcnet.org'
# Factoring default headers for most tests.
@@ -1474,7 +1474,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Server 1.1.6 to adapt to many kinds of systems.
+\`configure' configures Server 1.1.11 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1545,7 +1545,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Server 1.1.6:";;
+ short | recursive ) echo "Configuration of Server 1.1.11:";;
esac
cat <<\_ACEOF
@@ -1668,7 +1668,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Server configure 1.1.6
+Server configure 1.1.11
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1682,7 +1682,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Server $as_me 1.1.6, which was
+It was created by Server $as_me 1.1.11, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2498,7 +2498,7 @@
# Define the identity of the package.
PACKAGE='silc-server'
- VERSION='1.1.6'
+ VERSION='1.1.11'
cat >>confdefs.h <<_ACEOF
@@ -31728,7 +31728,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Server $as_me 1.1.6, which was
+This file was extended by Server $as_me 1.1.11, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -31781,7 +31781,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-Server config.status 1.1.6
+Server config.status 1.1.11
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Modified: silc-server/trunk/configure.ac
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/configure.ac?rev=286&op=diff
==============================================================================
--- silc-server/trunk/configure.ac (original)
+++ silc-server/trunk/configure.ac Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the configure.ad file in the source tree.
# Source: configure.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
@@ -23,7 +23,7 @@
# GNU General Public License for more details.
#
-AC_INIT([Server], [1.1.6], [silc-devel at lists.silcnet.org], [silc-server])
+AC_INIT([Server], [1.1.11], [silc-devel at lists.silcnet.org], [silc-server])
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE
AC_PREREQ(2.52)
Modified: silc-server/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/debian/changelog?rev=286&op=diff
==============================================================================
--- silc-server/trunk/debian/changelog (original)
+++ silc-server/trunk/debian/changelog Sat Jul 5 19:07:40 2008
@@ -1,3 +1,9 @@
+silc-server (1.1.11-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Jérémy Bobbio <lunar at debian.org> Sat, 05 Jul 2008 21:02:36 +0200
+
silc-server (1.1.6-1) unstable; urgency=low
* New upstream release.
Modified: silc-server/trunk/doc/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/doc/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/doc/Makefile.am (original)
+++ silc-server/trunk/doc/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./doc/Makefile.ad file in the source tree.
# Source: ./doc/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/doc/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/doc/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/doc/Makefile.in (original)
+++ silc-server/trunk/doc/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./doc/Makefile.ad file in the source tree.
# Source: ./doc/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/includes/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/includes/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/includes/Makefile.am (original)
+++ silc-server/trunk/includes/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./includes/Makefile.ad file in the source tree.
# Source: ./includes/Makefile.ad
-# Generated: Tue Apr 22 15:25:36 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/includes/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/includes/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/includes/Makefile.in (original)
+++ silc-server/trunk/includes/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./includes/Makefile.ad file in the source tree.
# Source: ./includes/Makefile.ad
-# Generated: Tue Apr 22 15:25:36 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/includes/silcdistdefs.h
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/includes/silcdistdefs.h?rev=286&op=diff
==============================================================================
--- silc-server/trunk/includes/silcdistdefs.h (original)
+++ silc-server/trunk/includes/silcdistdefs.h Sat Jul 5 19:07:40 2008
@@ -1,7 +1,7 @@
/*
Automatically generated by Autodist 1.4. Do not edit.
- Generated: Tue Apr 22 15:25:35 EEST 2008 by priikone
+ Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
Distribution: Server
License:
*/
Modified: silc-server/trunk/lib/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/Makefile.am (original)
+++ silc-server/trunk/lib/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/Makefile.ad file in the source tree.
# Source: ./lib/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/Makefile.in (original)
+++ silc-server/trunk/lib/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/Makefile.ad file in the source tree.
# Source: ./lib/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/contrib/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/contrib/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/contrib/Makefile.am (original)
+++ silc-server/trunk/lib/contrib/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/contrib/Makefile.ad file in the source tree.
# Source: ./lib/contrib/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/contrib/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/contrib/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/contrib/Makefile.in (original)
+++ silc-server/trunk/lib/contrib/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/contrib/Makefile.ad file in the source tree.
# Source: ./lib/contrib/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcapputil/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcapputil/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcapputil/Makefile.am (original)
+++ silc-server/trunk/lib/silcapputil/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcapputil/Makefile.ad file in the source tree.
# Source: ./lib/silcapputil/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcapputil/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcapputil/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcapputil/Makefile.in (original)
+++ silc-server/trunk/lib/silcapputil/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcapputil/Makefile.ad file in the source tree.
# Source: ./lib/silcapputil/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcasn1/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcasn1/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcasn1/Makefile.am (original)
+++ silc-server/trunk/lib/silcasn1/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcasn1/Makefile.ad file in the source tree.
# Source: ./lib/silcasn1/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcasn1/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcasn1/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcasn1/Makefile.in (original)
+++ silc-server/trunk/lib/silcasn1/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcasn1/Makefile.ad file in the source tree.
# Source: ./lib/silcasn1/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silccore/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccore/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccore/Makefile.am (original)
+++ silc-server/trunk/lib/silccore/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silccore/Makefile.ad file in the source tree.
# Source: ./lib/silccore/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silccore/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccore/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccore/Makefile.in (original)
+++ silc-server/trunk/lib/silccore/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silccore/Makefile.ad file in the source tree.
# Source: ./lib/silccore/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silccore/silcpacket.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccore/silcpacket.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccore/silcpacket.c (original)
+++ silc-server/trunk/lib/silccore/silcpacket.c Sat Jul 5 19:07:40 2008
@@ -721,8 +721,8 @@
(void *)&ps->sc)) {
ps->sc = silc_calloc(1, sizeof(*ps->sc));
if (!ps->sc) {
+ silc_mutex_unlock(engine->lock);
silc_packet_stream_destroy(ps);
- silc_mutex_unlock(engine->lock);
return NULL;
}
ps->sc->engine = engine;
@@ -733,8 +733,8 @@
if (!inbuf) {
silc_free(ps->sc);
ps->sc = NULL;
+ silc_mutex_unlock(engine->lock);
silc_packet_stream_destroy(ps);
- silc_mutex_unlock(engine->lock);
return NULL;
}
silc_buffer_reset(inbuf);
@@ -744,8 +744,8 @@
silc_buffer_free(inbuf);
silc_free(ps->sc);
ps->sc = NULL;
+ silc_mutex_unlock(engine->lock);
silc_packet_stream_destroy(ps);
- silc_mutex_unlock(engine->lock);
return NULL;
}
silc_dlist_add(ps->sc->inbufs, inbuf);
@@ -756,8 +756,8 @@
silc_dlist_del(ps->sc->inbufs, inbuf);
silc_free(ps->sc);
ps->sc = NULL;
+ silc_mutex_unlock(engine->lock);
silc_packet_stream_destroy(ps);
- silc_mutex_unlock(engine->lock);
return NULL;
}
}
@@ -901,17 +901,18 @@
if (!stream->udp) {
/* Delete from engine */
- engine = stream->sc->engine;
- silc_mutex_lock(engine->lock);
- silc_list_del(engine->streams, stream);
-
- /* Remove per scheduler context, if it is not used anymore */
if (stream->sc) {
+ engine = stream->sc->engine;
+ silc_mutex_lock(engine->lock);
+ silc_list_del(engine->streams, stream);
+
+ /* Remove per scheduler context, if it is not used anymore */
stream->sc->stream_count--;
if (!stream->sc->stream_count)
silc_hash_table_del(engine->contexts, stream->sc->schedule);
- }
- silc_mutex_unlock(engine->lock);
+
+ silc_mutex_unlock(engine->lock);
+ }
/* Destroy the underlaying stream */
if (stream->stream)
Modified: silc-server/trunk/lib/silccrypt/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccrypt/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccrypt/Makefile.am (original)
+++ silc-server/trunk/lib/silccrypt/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silccrypt/Makefile.ad file in the source tree.
# Source: ./lib/silccrypt/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silccrypt/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccrypt/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccrypt/Makefile.in (original)
+++ silc-server/trunk/lib/silccrypt/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silccrypt/Makefile.ad file in the source tree.
# Source: ./lib/silccrypt/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silccrypt/aes_x86.asm
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccrypt/aes_x86.asm?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccrypt/aes_x86.asm (original)
+++ silc-server/trunk/lib/silccrypt/aes_x86.asm Sat Jul 5 19:07:40 2008
@@ -595,3 +595,7 @@
%endif
end
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
Modified: silc-server/trunk/lib/silccrypt/aes_x86_64.asm
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silccrypt/aes_x86_64.asm?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silccrypt/aes_x86_64.asm (original)
+++ silc-server/trunk/lib/silccrypt/aes_x86_64.asm Sat Jul 5 19:07:40 2008
@@ -864,3 +864,7 @@
%endif
end
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
Modified: silc-server/trunk/lib/silchttp/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silchttp/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silchttp/Makefile.am (original)
+++ silc-server/trunk/lib/silchttp/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silchttp/Makefile.ad file in the source tree.
# Source: ./lib/silchttp/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silchttp/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silchttp/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silchttp/Makefile.in (original)
+++ silc-server/trunk/lib/silchttp/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silchttp/Makefile.ad file in the source tree.
# Source: ./lib/silchttp/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcmath/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcmath/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcmath/Makefile.am (original)
+++ silc-server/trunk/lib/silcmath/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcmath/Makefile.ad file in the source tree.
# Source: ./lib/silcmath/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcmath/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcmath/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcmath/Makefile.in (original)
+++ silc-server/trunk/lib/silcmath/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcmath/Makefile.ad file in the source tree.
# Source: ./lib/silcmath/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcske/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcske/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcske/Makefile.am (original)
+++ silc-server/trunk/lib/silcske/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcske/Makefile.ad file in the source tree.
# Source: ./lib/silcske/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcske/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcske/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcske/Makefile.in (original)
+++ silc-server/trunk/lib/silcske/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcske/Makefile.ad file in the source tree.
# Source: ./lib/silcske/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcskr/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcskr/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcskr/Makefile.am (original)
+++ silc-server/trunk/lib/silcskr/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcskr/Makefile.ad file in the source tree.
# Source: ./lib/silcskr/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcskr/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcskr/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcskr/Makefile.in (original)
+++ silc-server/trunk/lib/silcskr/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcskr/Makefile.ad file in the source tree.
# Source: ./lib/silcskr/Makefile.ad
-# Generated: Tue Apr 22 15:25:37 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:15 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcutil/Makefile.am
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcutil/Makefile.am?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcutil/Makefile.am (original)
+++ silc-server/trunk/lib/silcutil/Makefile.am Sat Jul 5 19:07:40 2008
@@ -2,7 +2,7 @@
# To make changes edit the ./lib/silcutil/Makefile.ad file in the source tree.
# Source: ./lib/silcutil/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcutil/Makefile.in
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcutil/Makefile.in?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcutil/Makefile.in (original)
+++ silc-server/trunk/lib/silcutil/Makefile.in Sat Jul 5 19:07:40 2008
@@ -18,7 +18,7 @@
# To make changes edit the ./lib/silcutil/Makefile.ad file in the source tree.
# Source: ./lib/silcutil/Makefile.ad
-# Generated: Tue Apr 22 15:25:38 EEST 2008 by priikone
+# Generated: Sun Jun 22 18:32:16 EEST 2008 by priikone
# Distribution: Server
# License:
Modified: silc-server/trunk/lib/silcutil/silcbuffmt.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcutil/silcbuffmt.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcutil/silcbuffmt.c (original)
+++ silc-server/trunk/lib/silcutil/silcbuffmt.c Sat Jul 5 19:07:40 2008
@@ -365,7 +365,8 @@
UNFORMAT_HAS_SPACE(src, len2);
if (silc_likely(len2 && x)) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -478,7 +479,8 @@
UNFORMAT_HAS_SPACE(src, len2);
if (silc_likely(x && len2)) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -493,7 +495,8 @@
UNFORMAT_HAS_SPACE(src, len2);
if (silc_likely(x && len2)) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -521,7 +524,8 @@
UNFORMAT_HAS_SPACE(src, len2);
if (silc_likely(x && len2)) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -571,7 +575,8 @@
*len3 = len2;
if (x && len2) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -589,7 +594,8 @@
*len3 = len2;
if (x && len2) {
*x = silc_scalloc(stack, len2 + 1, sizeof(unsigned char));
- memcpy(*x, src->data, len2);
+ if (*x)
+ memcpy(*x, src->data, len2);
}
silc_buffer_pull(src, len2);
break;
@@ -630,9 +636,10 @@
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
UNFORMAT_HAS_SPACE(src, len2);
- silc_buffer_sformat(stack, x,
- SILC_STR_DATA(src->data, len2),
- SILC_STR_END);
+ if (silc_buffer_sformat(stack, x,
+ SILC_STR_DATA(src->data, len2),
+ SILC_STR_END) < 0)
+ goto fail;
silc_buffer_pull(src, len2);
}
break;
Modified: silc-server/trunk/lib/silcutil/silcutil.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcutil/silcutil.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcutil/silcutil.c (original)
+++ silc-server/trunk/lib/silcutil/silcutil.c Sat Jul 5 19:07:40 2008
@@ -119,8 +119,10 @@
if (!user && !fqdn)
return 0;
- memset(user, 0, user_size);
- memset(fqdn, 0, fqdn_size);
+ if (user)
+ memset(user, 0, user_size);
+ if (user)
+ memset(fqdn, 0, fqdn_size);
if (!string)
return 0;
@@ -469,7 +471,7 @@
{
unsigned char *fingerprint, *cp;
unsigned int len, blocks, i;
-
+
if (!data || !data_len)
return NULL;
@@ -484,7 +486,7 @@
cp = fingerprint = silc_calloc(len, sizeof(*fingerprint));
if (!cp)
return NULL;
-
+
for (i = 0; i < data_len; i++) {
silc_snprintf(cp, len, "%02X", data[i]);
cp += 2;
@@ -497,7 +499,7 @@
}
i--;
if ((i + 1) % 10 == 0)
- *(--cp) = '\0';
+ *(--cp) = '\0';
if ((i + 1) % 2 == 0)
*(--cp) = '\0';
Modified: silc-server/trunk/lib/silcutil/unix/silcunixnet.c
URL: http://svn.debian.org/wsvn/pkg-silc/silc-server/trunk/lib/silcutil/unix/silcunixnet.c?rev=286&op=diff
==============================================================================
--- silc-server/trunk/lib/silcutil/unix/silcunixnet.c (original)
+++ silc-server/trunk/lib/silcutil/unix/silcunixnet.c Sat Jul 5 19:07:40 2008
@@ -701,6 +701,9 @@
silc_async_free(conn->op);
}
+ if (conn->sock && conn->status != SILC_NET_OK)
+ silc_net_close_connection(conn->sock);
+
return SILC_FSM_FINISH;
}
More information about the Pkg-silc-commits
mailing list