I think I know what may be going on and might have discovered the bug. After debugging further I saw that virtual function createSocket is declared with parameter "int"
boost::shared_ptr<TSocket> createSocket(int socket); https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TSSLServerSocket.h https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp However the base class TServerSocket.h declare it as "THRIFT_SOCKET" which on windows is ULONG_PTR virtual boost::shared_ptr<TSocket> createSocket(THRIFT_SOCKET client); https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TServerSocket.h Hence correct createSocket was not being called from the guts. After making this change I am able to move forward which I confirmed again with openssl s_client -connect localhost:9090 -state -debug I can send my patch to thrift dev in case they would like to accept it. On Sun, Jan 19, 2014 at 9:30 AM, Rajesh Sharma <[email protected]> wrote: > Hello, > > I have also posted my question at the following link and on someone's > suggestion I am asking to this mailing list as well. Hopefully I got that > right since this is my first time using this list > > > http://stackoverflow.com/questions/21213094/c-thrift-client-not-working-with-ssl > > I wanted to use ssl support provided by thrift in my c++ server and > client. My own thrift client was always hanging in SSL_connect after it > passes through "transport->open()" . So I built the official > thrift\thrift-0.9.1\test\cpp\src\TestServer.cpp and testclient.cpp for > windows. Same thing happened to me here as well. > > I also tried using the latest sources at https://github.com/apache/thrift > Before > I was working with 0.9.1 > > I really could use any help or pointers. > > >
