On Wed, Dec 2, 2015 at 9:59 AM, Ashesh Vashi <ashesh.va...@enterprisedb.com> wrote:
> > On Wed, Dec 2, 2015 at 3:27 PM, Akshay Joshi < > akshay.jo...@enterprisedb.com> wrote: > >> >> >> On Wed, Dec 2, 2015 at 3:20 PM, Dave Page <dp...@pgadmin.org> wrote: >> >>> Hi >>> >>> On Wed, Dec 2, 2015 at 9:19 AM, Akshay Joshi < >>> akshay.jo...@enterprisedb.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? Thanks. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company