- silc_client_perform_key_agreement(silc_client, conn, client_entry,
+
+ memset(¶ms, 0, sizeof(params));
+ if (udp) {
+ if (settings_get_bool("use_auto_addr")) {
+ params.local_ip = (char *)settings_get_str("auto_public_ip");
+ if ((params.local_ip) && (*params.local_ip == '\0')) {
+ params.local_ip = silc_net_localip();
+ } else {
+ params.bind_ip = (char *)settings_get_str("auto_bind_ip");
+ if ((params.bind_ip) && (*params.bind_ip == '\0'))
+ params.bind_ip = NULL;
+ params.local_port = settings_get_int("auto_bind_port");
+ }
+ }
+ if (!params.local_ip)
+ params.local_ip = silc_net_localip();
+ }
+ params.udp = udp;
+ params.timeout_secs = settings_get_int("key_exchange_timeout_secs");
+
+ silc_client_perform_key_agreement(silc_client, conn, client_entry, ¶ms,
+ irssi_pubkey, irssi_privkey,