projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates
[silc.git]
/
lib
/
silcclient
/
client.c
diff --git
a/lib/silcclient/client.c
b/lib/silcclient/client.c
index 4875e8e24d09901ece369ff18c6c3231b2e0c047..c5b13236e391a85aadde434ec493ee7d1b6e8aa6 100644
(file)
--- a/
lib/silcclient/client.c
+++ b/
lib/silcclient/client.c
@@
-186,10
+186,10
@@
static void silc_client_entry_destructor(SilcIDCache cache,
application performed the connecting outside the library. The library
however may use this internally. */
application performed the connecting outside the library. The library
however may use this internally. */
-SilcClientConnection
silc_client_add_connection(SilcClient client,
-
char *hostname
,
-
int port
,
-
void *context)
+SilcClientConnection
+
silc_client_add_connection(SilcClient client
,
+
SilcClientConnectionParams *params
,
+
char *hostname, int port,
void *context)
{
SilcClientConnection conn;
int i;
{
SilcClientConnection conn;
int i;
@@
-208,6
+208,13
@@
SilcClientConnection silc_client_add_connection(SilcClient client,
conn->pending_commands = silc_dlist_init();
conn->ftp_sessions = silc_dlist_init();
conn->pending_commands = silc_dlist_init();
conn->ftp_sessions = silc_dlist_init();
+ if (params) {
+ if (params->detach_data)
+ conn->params.detach_data = silc_memdup(params->detach_data,
+ params->detach_data_len);
+ conn->params.detach_data_len = params->detach_data_len;
+ }
+
/* Add the connection to connections table */
for (i = 0; i < client->internal->conns_count; i++)
if (client->internal->conns && !client->internal->conns[i]) {
/* Add the connection to connections table */
for (i = 0; i < client->internal->conns_count; i++)
if (client->internal->conns && !client->internal->conns[i]) {
@@
-330,8
+337,9
@@
silc_client_connect_to_server_internal(SilcClientInternalConnectContext *ctx)
case then this function is not used at all. When the connecting is
done the `connect' client operation is called. */
case then this function is not used at all. When the connecting is
done the `connect' client operation is called. */
-int silc_client_connect_to_server(SilcClient client, int port,
- char *host, void *context)
+int silc_client_connect_to_server(SilcClient client,
+ SilcClientConnectionParams *params,
+ int port, char *host, void *context)
{
SilcClientInternalConnectContext *ctx;
SilcClientConnection conn;
{
SilcClientInternalConnectContext *ctx;
SilcClientConnection conn;
@@
-340,7
+348,7
@@
int silc_client_connect_to_server(SilcClient client, int port,
SILC_LOG_DEBUG(("Connecting to port %d of server %s",
port, host));
SILC_LOG_DEBUG(("Connecting to port %d of server %s",
port, host));
- conn = silc_client_add_connection(client, host, port, context);
+ conn = silc_client_add_connection(client,
params,
host, port, context);
client->internal->ops->say(client, conn, SILC_CLIENT_MESSAGE_AUDIT,
"Connecting to port %d of server %s", port, host);
client->internal->ops->say(client, conn, SILC_CLIENT_MESSAGE_AUDIT,
"Connecting to port %d of server %s", port, host);