X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcclient%2Fprotocol.c;h=3354f1d0b53f04cc98696b0734caf8d5a253b07a;hp=41daced5cab0a1e734df60b23af793ab2fad3e9c;hb=144a2502d4b6e94b654dc22f4c58530d8acb8ba1;hpb=fba423151558eeafb04530cfcca3d99c7f5dde36 diff --git a/lib/silcclient/protocol.c b/lib/silcclient/protocol.c index 41daced5..3354f1d0 100644 --- a/lib/silcclient/protocol.c +++ b/lib/silcclient/protocol.c @@ -299,10 +299,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_key_exchange) SilcSKE ske; /* Allocate Key Exchange object */ - ske = silc_ske_alloc(); - ctx->ske = ske; - ske->rng = client->rng; - ske->user_data = (void *)client; + ctx->ske = ske = silc_ske_alloc(client->rng, client); silc_ske_set_callbacks(ske, ctx->send_packet, NULL, ctx->verify, @@ -360,9 +357,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_key_exchange) */ if (ctx->responder == TRUE) { /* Sends the selected security properties to the initiator. */ - status = - silc_ske_responder_phase_1(ctx->ske, - ctx->ske->start_payload); + status = silc_ske_responder_phase_1(ctx->ske); } else { /* Call Phase-1 function. This processes the Key Exchange Start paylaod reply we just got from the responder. The callback @@ -405,7 +400,8 @@ SILC_TASK_CALLBACK(silc_client_protocol_key_exchange) Key Exhange 1 Payload to the responder. */ status = silc_ske_initiator_phase_2(ctx->ske, client->public_key, - client->private_key); + client->private_key, + SILC_SKE_PK_TYPE_SILC); protocol->state++; } @@ -922,8 +918,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_rekey) silc_protocol_execute(protocol, client->schedule, 0, 300000); } - ctx->ske = silc_ske_alloc(); - ctx->ske->rng = client->rng; + ctx->ske = silc_ske_alloc(client->rng, client); ctx->ske->prop = silc_calloc(1, sizeof(*ctx->ske->prop)); silc_ske_group_get_by_number(conn->rekey->ske_group, &ctx->ske->prop->group); @@ -979,8 +974,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_rekey) * Use Perfect Forward Secrecy, ie. negotiate the key material * using the SKE protocol. */ - ctx->ske = silc_ske_alloc(); - ctx->ske->rng = client->rng; + ctx->ske = silc_ske_alloc(client->rng, client); ctx->ske->prop = silc_calloc(1, sizeof(*ctx->ske->prop)); silc_ske_group_get_by_number(conn->rekey->ske_group, &ctx->ske->prop->group); @@ -990,7 +984,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_rekey) NULL, NULL, NULL, silc_ske_check_version, context); - status = silc_ske_initiator_phase_2(ctx->ske, NULL, NULL); + status = silc_ske_initiator_phase_2(ctx->ske, NULL, NULL, 0); if (status != SILC_SKE_STATUS_OK) { SILC_LOG_WARNING(("Error (type %d) during Re-key (PFS)", status));