updates.
[silc.git] / lib / silcclient / client_keyagr.c
index 9191edd623036e2ff302be70dbc485f786f33386..e4a6a25c7ff260e9e54a54bb5fbafef9989de41c 100644 (file)
@@ -76,8 +76,8 @@ SILC_TASK_CALLBACK(silc_client_key_agreement_close)
 {
   SilcClientKeyAgreement ke = (SilcClientKeyAgreement)context;
 
-  silc_schedule_unset_listen_fd(ke->sock->sock);
-  silc_schedule_unset_listen_fd(ke->fd);
+  silc_schedule_unset_listen_fd(ke->client->schedule, ke->sock->sock);
+  silc_schedule_unset_listen_fd(ke->client->schedule, ke->fd);
   silc_net_close_connection(ke->sock->sock);
   silc_net_close_connection(ke->fd);
   silc_socket_free(ke->sock);
@@ -119,10 +119,8 @@ SILC_TASK_CALLBACK(silc_client_key_agreement_final)
     silc_ske_free(ctx->ske);
   if (ctx->dest_id)
     silc_free(ctx->dest_id);
-  silc_task_unregister_by_callback(client->timeout_queue,
-                                  silc_client_failure_callback);
   silc_task_unregister_by_fd(client->io_queue, ke->fd);
-  silc_schedule_unset_listen_fd(ke->fd);
+  silc_schedule_unset_listen_fd(ke->client->schedule, ke->fd);
   silc_net_close_connection(ke->fd);
   if (ke->timeout)
     silc_task_unregister(client->timeout_queue, ke->timeout);
@@ -160,7 +158,7 @@ SILC_TASK_CALLBACK(silc_client_process_key_agreement)
     ke->completion(ke->client, ke->conn, ke->client_entry, 
                   SILC_KEY_AGREEMENT_ERROR, NULL, ke->context);
     silc_task_unregister_by_fd(client->io_queue, ke->fd);
-    silc_schedule_unset_listen_fd(ke->fd);
+    silc_schedule_unset_listen_fd(ke->client->schedule, ke->fd);
     silc_net_close_connection(ke->fd);
     if (ke->timeout)
       silc_task_unregister(client->timeout_queue, ke->timeout);
@@ -187,7 +185,7 @@ SILC_TASK_CALLBACK(silc_client_process_key_agreement)
     ke->completion(ke->client, ke->conn, ke->client_entry, 
                   SILC_KEY_AGREEMENT_ERROR, NULL, ke->context);
     silc_task_unregister_by_fd(client->io_queue, ke->fd);
-    silc_schedule_unset_listen_fd(ke->fd);
+    silc_schedule_unset_listen_fd(ke->client->schedule, ke->fd);
     silc_net_close_connection(ke->fd);
     if (ke->timeout)
       silc_task_unregister(client->timeout_queue, ke->timeout);
@@ -245,11 +243,9 @@ SILC_TASK_CALLBACK(silc_client_key_agreement_timeout)
     silc_socket_free(ke->sock);
   }
   ke->client_entry->ke = NULL;
-  silc_task_unregister_by_callback(ke->client->timeout_queue,
-                                  silc_client_failure_callback);
   if (ke->fd)
     silc_task_unregister_by_fd(ke->client->io_queue, ke->fd);
-  silc_schedule_unset_listen_fd(ke->fd);
+  silc_schedule_unset_listen_fd(ke->client->schedule, ke->fd);
   silc_net_close_connection(ke->fd);
   silc_free(ke);
 }
@@ -374,7 +370,7 @@ silc_client_connect_to_client_internal(SilcClientInternalConnectContext *ctx)
                                 SILC_TASK_FD,
                                 SILC_TASK_PRI_NORMAL);
   silc_task_reset_iotype(ctx->task, SILC_TASK_WRITE);
-  silc_schedule_set_listen_fd(sock, ctx->task->iomask);
+  silc_schedule_set_listen_fd(ctx->client->schedule, sock, ctx->task->iomask);
 
   ctx->sock = sock;
 
@@ -431,7 +427,7 @@ SILC_TASK_CALLBACK(silc_client_perform_key_agreement_start)
                       ctx->port, ctx->host);
 
       /* Unregister old connection try */
-      silc_schedule_unset_listen_fd(fd);
+      silc_schedule_unset_listen_fd(client->schedule, fd);
       silc_net_close_connection(fd);
       silc_task_unregister(client->io_queue, ctx->task);
 
@@ -442,7 +438,7 @@ SILC_TASK_CALLBACK(silc_client_perform_key_agreement_start)
       /* Connection failed and we won't try anymore */
       client->ops->say(client, conn, "Could not connect to client %s: %s",
                       ctx->host, strerror(opt));
-      silc_schedule_unset_listen_fd(fd);
+      silc_schedule_unset_listen_fd(client->schedule, fd);
       silc_net_close_connection(fd);
       silc_task_unregister(client->io_queue, ctx->task);
       silc_free(ctx->host);
@@ -456,7 +452,7 @@ SILC_TASK_CALLBACK(silc_client_perform_key_agreement_start)
     return;
   }
 
-  silc_schedule_unset_listen_fd(fd);
+  silc_schedule_unset_listen_fd(client->schedule, fd);
   silc_task_unregister(client->io_queue, ctx->task);
 
   ke->fd = fd;
@@ -583,7 +579,7 @@ void silc_client_perform_key_agreement_fd(SilcClient client,
   SILC_CLIENT_REGISTER_CONNECTION_FOR_IO(sock);
 
   /* Execute the protocol */
-  protocol->execute(client->timeout_queue, 0, protocol, sock, 0, 0);
+  silc_protocol_execute(protocol, client->timeout_queue, 0, 0);
 }
 
 /* This function can be called to unbind the hostname and the port for