Merge commit 'origin/silc.1.1.branch'
[silc.git] / lib / silcclient / client_listener.c
index 24ae0c74104b2cf62e14ed42a0b8b4e272c6d14b..76db6af75a6d5cf5c5e39215a0b2a40000de8714 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2007 Pekka Riikonen
+  Copyright (C) 2007 - 2008 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -181,6 +181,9 @@ silc_client_listener_new_connection(SilcClientListener listener,
     return;
   }
   conn->stream = stream;
+  conn->socket_stream = silc_packet_stream_get_stream(stream);
+  silc_socket_stream_get_info(conn->socket_stream, &conn->sock, NULL,
+                             NULL, NULL);
   conn->internal->schedule = listener->schedule;
   silc_packet_set_context(conn->stream, conn);
 
@@ -334,7 +337,8 @@ silc_client_listener_add(SilcClient client,
                     client, NULL, SILC_CLIENT_MESSAGE_ERROR,
                     "Cannot create UDP listener on %s on port %d: %s",
                     params->bind_ip ? params->bind_ip :
-                    params->local_ip, params->local_port, strerror(errno));
+                    params->local_ip, params->local_port,
+                    silc_errno_string(silc_errno));
       silc_client_listener_free(listener);
       if (stream)
        silc_stream_destroy(stream);
@@ -364,7 +368,8 @@ silc_client_listener_add(SilcClient client,
                     client, NULL, SILC_CLIENT_MESSAGE_ERROR,
                     "Cannot create listener on %s on port %d: %s",
                     params->bind_ip ? params->bind_ip :
-                    params->local_ip, params->local_port, strerror(errno));
+                    params->local_ip, params->local_port,
+                    silc_errno_string(silc_errno));
 
       silc_client_listener_free(listener);
       return NULL;