X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcske%2Fsilcske.c;h=a5f7a6452043962de5d0861050a7e6e55223214f;hb=f5655eda8412bc7b03b6162cad01ad612719ad4a;hp=a6b23c857918cbf090182b3cfc8f86644c266f7d;hpb=9a3032f7fd59939bcdce2ef4401dd2b84b7df637;p=silc.git diff --git a/lib/silcske/silcske.c b/lib/silcske/silcske.c index a6b23c85..a5f7a645 100644 --- a/lib/silcske/silcske.c +++ b/lib/silcske/silcske.c @@ -624,7 +624,7 @@ SilcSKEStatus silc_ske_responder_start(SilcSKE ske, SilcRng rng, SilcSocketConnection sock, char *version, SilcBuffer start_payload, - bool mutual_auth) + SilcSKESecurityPropertyFlag flags) { SilcSKEStatus status = SILC_SKE_STATUS_OK; SilcSKEStartPayload *remote_payload = NULL, *payload = NULL; @@ -646,11 +646,17 @@ SilcSKEStatus silc_ske_responder_start(SilcSKE ske, SilcRng rng, ske->start_payload_copy = silc_buffer_copy(start_payload); /* Force the mutual authentication flag if we want to do it. */ - if (mutual_auth) { + if (flags & SILC_SKE_SP_FLAG_MUTUAL) { SILC_LOG_DEBUG(("Force mutual authentication")); remote_payload->flags |= SILC_SKE_SP_FLAG_MUTUAL; } + /* Force PFS flag if we require it */ + if (flags & SILC_SKE_SP_FLAG_PFS) { + SILC_LOG_DEBUG(("Force PFS")); + remote_payload->flags |= SILC_SKE_SP_FLAG_PFS; + } + /* Parse and select the security properties from the payload */ payload = silc_calloc(1, sizeof(*payload)); status = silc_ske_select_security_properties(ske, version, @@ -1107,7 +1113,7 @@ SilcSKEStatus silc_ske_abort(SilcSKE ske, SilcSKEStatus status) SilcSKEStatus silc_ske_assemble_security_properties(SilcSKE ske, - unsigned char flags, + SilcSKESecurityPropertyFlag flags, char *version, SilcSKEStartPayload **return_payload) {