On Tue, Jul 10, 2012 at 1:31 PM, Magnus Hagander <mag...@hagander.net>wrote:

> On Tue, Jul 10, 2012 at 2:30 PM, Ashesh Vashi <
> ashesh.va...@enterprisedb.com> wrote:
>
>>  On Tue, Jul 10, 2012 at 5:56 PM, Magnus Hagander <mag...@hagander.net>wrote:
>>
>>> On Tue, Jul 10, 2012 at 2:19 PM, Akshay Joshi
>>> <akshay.jo...@enterprisedb.com> wrote:
>>> >
>>> >
>>> > On Tue, Jul 10, 2012 at 5:16 PM, Dave Page <dp...@pgadmin.org> wrote:
>>> >>
>>> >>
>>> >>
>>> >> On Tue, Jul 10, 2012 at 12:35 PM, Ashesh Vashi
>>> >> <ashesh.va...@enterprisedb.com> wrote:
>>> >>>>
>>> >>>>
>>> >>> Why are we talking about using the external application here?
>>> >>
>>> >>
>>> >> Because I suggested giving it some thought in case it turns out we
>>> have no
>>> >> other option.
>>> >>
>>> >>>
>>> >>> The only problem with the current implementation - is that it does
>>> use
>>> >>> new APIs for tunneling.
>>> >>> We can change the implementation based on the current supplied
>>> libssh2 on
>>> >>> most linux flavours.
>>> >>> i.e. libssh2 - 1.2.7 or later
>>> >>>
>>> >>> I have asked Akshay to check - if we can modify the current
>>> >>> implementation to use the older version of libssh2. (feasibility)
>>> >>
>>> >>
>>> >> I've already asked him to investigate whether there is another API
>>> that
>>> >> may be used that he may have missed. Only supporting old versions of
>>> libssh2
>>> >> is unacceptable though - we need to support current versions, and
>>> ideally
>>> >> older ones as well for compatibility with Ubuntu/Debian/RHEL etc.
>>> >
>>> >
>>> >    I have investigated, there are two functions
>>> libssh2_session_handshake
>>> > and libssh2_exit() which is not available in the older versions.
>>> >    libssh2_session_handshake() is replacement function to
>>> > libssh2_session_startup()(deprecated) which was added in the version
>>> 1.2.8
>>> > and
>>> >    libssh2_exist() was added in the version 1.2.5. So to provide
>>> backward
>>> > compatibility we can perform the function check instead of configure
>>> >    check and will add appropriate macros to build it properly.
>>> >
>>> >    Thought??Comments?
>>>
>>> Uh, I'm not sure what you mean with "function check instead of
>>> configure check". You mean trying to load the function at runtime,
>>> with dlopen() and friends? I guess we could, but I don't think pgadmin
>>> has any functionality for that today, so it's going to bring in a fair
>>> amount of platform specific code, isn't it? But if it's not too
>>> complicated, it seems like a good choice.
>>>
>> He means to say - check function check at configuration.
>> i.e.
>> A lot of system does not have snprintf supported so a lot of packages
>> check existence of it at configuration and define  HAVE_SNPRINTF  macros.
>>
>
>
> Oh, that's what I would've called a configure check :) In that case, +1
> for that since it's clearly the simplest way of getting it done.
>
>
Yeah. Well, that should solve the version compatibility issue, but we still
want to find out if there's a different API to use to avoid the need for a
public key. Probably best to try to answer that first, in case it means
approaching things differently.

BTW; according to the libssh2 website I just read, it supports OpenSSL and
gcrypt, so I guess there won't be builds out there using libnss or gnutls.


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Reply via email to