You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by Rajesh Sharma <sh...@gmail.com> on 2014/01/19 18:30:33 UTC

c++ thrift client not working with ssl

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.

Re: c++ thrift client not working with ssl

Posted by Jake Farrell <jf...@apache.org>.
Hey Rajesh
Currently we do not accept pull requests from github, if you could please
attach a patch to a ticket within our JIRA at
http://issues/apache.org/jira/browse/THRIFT we will be glad to review.
Appreciate the help

Thanks
-Jake




On Mon, Jan 20, 2014 at 12:34 AM, Rajesh Sharma <sh...@gmail.com>wrote:

> Hi Jake,
>
> I submitted pull requests at https://github.com/apache/thrift/pulls (77 &
> 78) with full description about the problem.
>
> Will that be enough or I should go the jira route.
>
> Thanks,
>
> Rajesh
> On Jan 19, 2014 9:18 PM, "Jake Farrell" <jf...@apache.org> wrote:
>
> > Hi Rajesh
> > Thanks for looking into this, we always appreciate contributions. If you
> > can create an issue in jira for this and attach a patch to that issue we
> > would be glad to review. Documentation on our process is available here,
> > http://thrift.apache.org/docs/HowToContribute/
> >
> > Thanks again
> > -Jake
> >
> >
> >
> >
> > On Sun, Jan 19, 2014 at 9:35 PM, Rajesh Sharma <sh...@gmail.com>
> > wrote:
> >
> > > 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 <sh...@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.
> > > >
> > > >
> > > >
> > >
> >
>

Re: c++ thrift client not working with ssl

Posted by Rajesh Sharma <sh...@gmail.com>.
Hi Jake,

I submitted pull requests at https://github.com/apache/thrift/pulls (77 &
78) with full description about the problem.

Will that be enough or I should go the jira route.

Thanks,

Rajesh
On Jan 19, 2014 9:18 PM, "Jake Farrell" <jf...@apache.org> wrote:

> Hi Rajesh
> Thanks for looking into this, we always appreciate contributions. If you
> can create an issue in jira for this and attach a patch to that issue we
> would be glad to review. Documentation on our process is available here,
> http://thrift.apache.org/docs/HowToContribute/
>
> Thanks again
> -Jake
>
>
>
>
> On Sun, Jan 19, 2014 at 9:35 PM, Rajesh Sharma <sh...@gmail.com>
> wrote:
>
> > 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 <sh...@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.
> > >
> > >
> > >
> >
>

Re: c++ thrift client not working with ssl

Posted by Jake Farrell <jf...@apache.org>.
Hi Rajesh
Thanks for looking into this, we always appreciate contributions. If you
can create an issue in jira for this and attach a patch to that issue we
would be glad to review. Documentation on our process is available here,
http://thrift.apache.org/docs/HowToContribute/

Thanks again
-Jake




On Sun, Jan 19, 2014 at 9:35 PM, Rajesh Sharma <sh...@gmail.com> wrote:

> 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 <sh...@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.
> >
> >
> >
>

Re: c++ thrift client not working with ssl

Posted by Rajesh Sharma <sh...@gmail.com>.
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 <sh...@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.
>
>
>