thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajesh Sharma <sharraj...@gmail.com>
Subject Re: c++ thrift client not working with ssl
Date Mon, 20 Jan 2014 02:35:51 GMT
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 <sharrajesh@gmail.com> 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.
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message