Re: [pgadmin-support] SSH tunnel key exchange methods

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, Sven <svoop_6cedifwf9e(at)delirium(dot)ch>, pgAdmin Support <pgadmin-support(at)postgresql(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgadmin-support] SSH tunnel key exchange methods
Date: 2015-12-02 13:22:08
Message-ID: CANxoLDce7bxmNkB8Sm1ReRQ=X+Av3+pwMniopNvDXbAYx75Ayg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgadmin-support

On Wed, Dec 2, 2015 at 6:35 PM, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
wrote:

> On Wed, Dec 2, 2015 at 6:34 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>>
>>
>> On Wed, Dec 2, 2015 at 9:59 AM, Ashesh Vashi <
>> ashesh(dot)vashi(at)enterprisedb(dot)com> wrote:
>>
>>>
>>> On Wed, Dec 2, 2015 at 3:27 PM, Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Dec 2, 2015 at 3:20 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> On Wed, Dec 2, 2015 at 9:19 AM, Akshay Joshi <
>>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>>
>>>>>> Hi Dave
>>>>>>
>>>>>> I have updated the *libssh2* library with the latest available code
>>>>>> on their git repository. The new code used "diffie-hellman-group-exchange-sha256" algorithm for
>>>>>> key exchange and they also fixed some memory leak. I have verified it by
>>>>>> putting the breakpoint in the libssh2 code, so when we called "
>>>>>> libssh2_session_init()" it will automatically call "static int diffie
>>>>>> _hellman_sha256(...)" function, but I don't know exactly how to
>>>>>> identify the key exchange method (sha1 or sha256) used by the latest
>>>>>> libssh2 library.
>>>>>>
>>>>>> I have tested the pgadmin3 after updating the libssh2 library on
>>>>>> CentOS 6.5 (64 bit) and it works fine. I have also modified the code
>>>>>> to add human readable error message returned by the library. Attached
>>>>>> is the patch file. Can you please review it and if it looks good can you
>>>>>> please commit the code.
>>>>>>
>>>>>
>>>>> I'm seeing the following build error on OS X 10.7:
>>>>>
>>>>> depbase=`echo libssh2/agent.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>>>>> ccache gcc -Qunused-arguments -DHAVE_CONFIG_H -I. -I..
>>>>> -I../pgadmin/include/libssh2 -I../pgadmin/include
>>>>> -I../pgadmin/include/libssh2 -I/usr/local/pgsql-9.5/include
>>>>> -I/usr/local/pgsql-9.5/include/server -I/usr/local/pgsql-9.5/include
>>>>> -DPG_SSL -DHAVE_CONNINFO_PARSE
>>>>> -I/usr/local/lib/wx/include/mac-unicode-release-static-2.8
>>>>> -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
>>>>> -D__WXMAC__ -DEMBED_XRC -arch i386 -I/usr/include/libxml2
>>>>> -I/opt/local/include/libxml2 -DHAVE_OPENSSL_CRYPTO -O2 -MT libssh2/agent.o
>>>>> -MD -MP -MF $depbase.Tpo -c -o libssh2/agent.o libssh2/agent.c &&\
>>>>> mv -f $depbase.Tpo $depbase.Po
>>>>> In file included from ../pgadmin/include/libssh2/libssh2_priv.h:136,
>>>>> from libssh2/agent.c:41:
>>>>> ../pgadmin/include/libssh2/crypto.h:53: error: expected ‘)’ before ‘*’
>>>>> token
>>>>> ../pgadmin/include/libssh2/crypto.h:69: error: expected ‘)’ before ‘*’
>>>>> token
>>>>> ../pgadmin/include/libssh2/crypto.h:73: error: expected ‘)’ before ‘*’
>>>>> token
>>>>> ../pgadmin/include/libssh2/crypto.h:78: error: expected declaration
>>>>> specifiers or ‘...’ before ‘libssh2_rsa_ctx’
>>>>> ../pgadmin/include/libssh2/crypto.h:83: error: expected ‘)’ before ‘*’
>>>>> token
>>>>> ../pgadmin/include/libssh2/crypto.h:115: error: expected ‘)’ before
>>>>> ‘*’ token
>>>>> ../pgadmin/include/libssh2/crypto.h:120: error: expected ‘)’ before
>>>>> ‘*’ token
>>>>> In file included from libssh2/agent.c:41:
>>>>> ../pgadmin/include/libssh2/libssh2_priv.h:240: error:
>>>>> ‘SHA256_DIGEST_LENGTH’ undeclared here (not in a function)
>>>>> ../pgadmin/include/libssh2/libssh2_priv.h:245: error: expected
>>>>> specifier-qualifier-list before ‘_libssh2_bn_ctx’
>>>>> ../pgadmin/include/libssh2/libssh2_priv.h:267: error: expected
>>>>> specifier-qualifier-list before ‘_libssh2_bn’
>>>>> ../pgadmin/include/libssh2/libssh2_priv.h:604: error:
>>>>> ‘SHA_DIGEST_LENGTH’ undeclared here (not in a function)
>>>>> ../pgadmin/include/libssh2/libssh2_priv.h:899: error: expected
>>>>> specifier-qualifier-list before ‘_libssh2_cipher_type’
>>>>> libssh2/agent.c: In function ‘agent_connect_unix’:
>>>>> libssh2/agent.c:150: warning: assignment makes pointer from integer
>>>>> without a cast
>>>>> make[3]: *** [libssh2/agent.o] Error 1
>>>>> make[2]: *** [all] Error 2
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make: *** [all] Error 2
>>>>>
>>>>
>>>> I have modified the configure.ac.in and added "-DLIBSSH2_OPENSSL"
>>>> to solve the above. You need to run the configure command again.
>>>>
>>> You also needs to rerun the bootstrap script.
>>>
>>
>> OK, it works for me on Windows and OSX. Ashesh, can you give it a
>> review/commit please?
>>
> I think - it has been merged with the development version of libssh2.
> Akshay - can you please mention the commit-id and repository url from
> which it has been merged with.
>

git(at)github(dot)com:libssh2/libssh2.git
commit 51dcded3ebd6bde7d6fd847ed6461da4a4522506

>
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
> <http://www.enterprisedb.com>
>
>
> *http://www.linkedin.com/in/asheshvashi*
> <http://www.linkedin.com/in/asheshvashi>
>
>>
>> Thanks.
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>

--
*Akshay Joshi*
*Principal Software Engineer *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Adam Pearson 2015-12-02 13:58:00 SSH tunnel key exchange methods
Previous Message Ashesh Vashi 2015-12-02 13:05:59 Re: SSH tunnel key exchange methods

Browse pgadmin-support by date

  From Date Subject
Next Message Adam Pearson 2015-12-02 13:58:00 SSH tunnel key exchange methods
Previous Message Ashesh Vashi 2015-12-02 13:05:59 Re: SSH tunnel key exchange methods