]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
In client side the verify callback is always being called.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 10 Feb 2013 10:52:21 +0000 (11:52 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 10 Feb 2013 10:52:21 +0000 (11:52 +0100)
lib/gnutls_handshake.c
tests/mini-x509-callbacks.c

index 5bc7d708150d554b130e94e7bc9a0105e7884426..ddd80272d785f36263853bd2985a450fd882b798 100644 (file)
@@ -2498,7 +2498,8 @@ static int run_verify_callback(gnutls_session_t session, unsigned int side)
     return 0;
 
   if (cred != NULL && cred->verify_callback != NULL && 
-       session->internals.send_cert_req != GNUTLS_CERT_IGNORE)
+       (session->security_parameters.entity == GNUTLS_CLIENT || 
+               session->internals.send_cert_req != GNUTLS_CERT_IGNORE))
     {
       ret = cred->verify_callback (session);
       if (ret < -1)
index 9c7a748becc1b202932134198952ce868e38ff38..7671d0b7221d94cf4b83df0401fabef35aa61351 100644 (file)
@@ -135,6 +135,7 @@ void doit(void)
   gnutls_transport_set_pull_function (server, server_pull);
   gnutls_transport_set_ptr (server, (gnutls_transport_ptr_t)server);
   gnutls_certificate_set_verify_function (serverx509cred, server_callback);
+  gnutls_certificate_server_set_request (server, GNUTLS_CERT_REQUEST);
   gnutls_handshake_set_post_client_hello_function (server, post_client_hello_callback);
 
   /* Init client */