Looking at the code it has:
static LSEC_SSL_METHOD* str2method(const char *method)
{
  if (!strcmp(method, "sslv23"))  return SSLv23_method();
  if (!strcmp(method, "sslv3"))   return SSLv3_method();
  if (!strcmp(method, "tlsv1"))   return TLSv1_method();
#if (OPENSSL_VERSION_NUMBER >= 0x1000100fL)
  if (!strcmp(method, "tlsv1_1")) return TLSv1_1_method();
  if (!strcmp(method, "tlsv1_2")) return TLSv1_2_method();
#endif
  return NULL;
}

And almost all the samples seems to be doing:
./samples/info/client.lua:   protocol = "sslv3",
./samples/info/client.lua:   options = {"all", "no_sslv2"},

A few use tlsv1 which isn't much better.

This is all completly wrong.  

The only method supporting multiple versions in SSLv23_*.  All the
other are version specific and the no_sslv2 / SSL_OP_NO_SSLv2
doesn't have any effect on them.

I suggest you always use SSLv23_method().  Maybe you should get
rid of the protocol thing, or just don't let it have any effect.


Kurt

Reply via email to