On Tue, 1 Oct 2013, SinghLevett, Ishan wrote:

I'd suggest the if statement should look more like this:

if (!data->set.ssl.verifypeer && (data->set.ssl.verifyhost < 2))

I agree with you that this is a bug, but the above suggestion is wrong. "data->set.ssl.verifyhost" is a boolean internally so the value is only ever 1 or 0 and thus always less than 2...

But I can see how this could work:

diff --git a/lib/ssluse.c b/lib/ssluse.c
index 4f3c1e1..9974ac8 100644
--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -2351,7 +2351,7 @@ ossl_connect_step3(struct connectdata *conn,
    * operations.
    */

-  if(!data->set.ssl.verifypeer)
+  if(!data->set.ssl.verifypeer && !data->set.ssl.verifyhost)
     (void)servercert(conn, connssl, FALSE);
   else
     retcode = servercert(conn, connssl, TRUE);


You agree?

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to