Skip site navigation (1) Skip section navigation (2)

Re: SSH Tunneling implementation

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Guillaume Lelarge <guillaume(at)lelarge(dot)info>, Magnus Hagander <magnus(at)hagander(dot)net>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: SSH Tunneling implementation
Date: 2012-07-20 08:45:27
Message-ID: CANxoLDdo1VtB1XLm4He-wWsxpZDdTWPiMuihmj7rQWHG7zF0qw@mail.gmail.com (view raw or flat)
Thread:
Lists: pgadmin-hackers
On Thu, Jul 19, 2012 at 3:33 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Hi
>
> On Thu, Jul 19, 2012 at 8:51 AM, Akshay Joshi
> <akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
> > Hi
> >
> > I have added "libssh2" source code with pgAdmin3. Attached is the
> complete
> > patch. I have modified the acinclude.m4 and configure.ac.in to build
> libssh2
> > code.
> > Added "config.rpath.in" which is required to build libssh2 source code.
> >
> > Please review and let me know the review comments.
>
> I get the following on the link step on Mac:
>
> ...
> ui/xrcDialogs.o utils/csvfiles.o utils/factory.o utils/favourites.o
> utils/misc.o utils/pgconfig.o utils/registry.o utils/sysLogger.o
> utils/sysProcess.o utils/sysSettings.o utils/tabcomplete.o
> utils/utffile.o utils/macros.o utils/sshTunnel.o libssh2/agent.o
> libssh2/channel.o libssh2/comp.o libssh2/crypt.o libssh2/global.o
> libssh2/hostkey.o libssh2/keepalive.o libssh2/kex.o
> libssh2/knownhost.o libssh2/libgcrypt.o libssh2/mac.o libssh2/misc.o
> libssh2/openssl.o libssh2/packet.o libssh2/pem.o libssh2/publickey.o
> libssh2/scp.o libssh2/session.o libssh2/sftp.o libssh2/transport.o
> libssh2/userauth.o libssh2/version.o -L/usr/local/lib  -framework
> IOKit -framework Carbon -framework Cocoa -framework System -framework
> QuickTime -framework OpenGL -framework AGL -lwx_macud_stc-2.8
> -lwx_macud_richtext-2.8 -lwx_macud_aui-2.8 -lwx_macud_xrc-2.8
> -lwx_macud_qa-2.8 -lwx_macud_html-2.8 -lwx_macud_adv-2.8
> -lwx_macud_core-2.8 -lwx_base_carbonud_xml-2.8
> -lwx_base_carbonud_net-2.8 -lwx_base_carbonud-2.8 -arch i386
> -L/usr/local/lib -lxml2 -lz -lpthread -liconv -lm -L/usr/local/lib
> -lxslt -lxml2 -lz -lpthread -liconv -lm -L/usr/local/pgsql/lib -lpq
> Undefined symbols for architecture i386:
>   "_OPENSSL_add_all_algorithms_noconf", referenced from:
>       _libssh2_init in global.o
>   "_RAND_bytes", referenced from:
>       _channel_x11_req in channel.o
>       _kexinit in kex.o
>       __libssh2_transport_send in transport.o
>   "_EVP_CIPHER_CTX_cleanup", referenced from:
>       _crypt_dtor in crypt.o
>       _aes_ctr_cleanup in openssl.o
>   "_EVP_aes_128_cbc", referenced from:
>       _libssh2_crypt_method_aes128_cbc in crypt.o
>   "_EVP_aes_192_cbc", referenced from:
>       _libssh2_crypt_method_aes192_cbc in crypt.o
>   "_EVP_aes_256_cbc", referenced from:
>       _libssh2_crypt_method_aes256_cbc in crypt.o
>       _libssh2_crypt_method_rijndael_cbc_lysator_liu_se in crypt.o
>   "_EVP_bf_cbc", referenced from:
>       _libssh2_crypt_method_blowfish_cbc in crypt.o
>   "_EVP_rc4", referenced from:
>       _libssh2_crypt_method_arcfour in crypt.o
>       _libssh2_crypt_method_arcfour128 in crypt.o
>   "_EVP_cast5_cbc", referenced from:
>       _libssh2_crypt_method_cast128_cbc in crypt.o
>   "_EVP_des_ede3_cbc", referenced from:
>       _libssh2_crypt_method_3des_cbc in crypt.o
>   "_EVP_get_digestbyname", referenced from:
>       _hostkey_method_ssh_rsa_signv in hostkey.o
>       _hostkey_method_ssh_dss_signv in hostkey.o
>       _diffie_hellman_sha1 in kex.o
>       _libssh2_sha1 in openssl.o
>       _libssh2_md5 in openssl.o
>   "_EVP_DigestInit", referenced from:
>       _hostkey_method_ssh_rsa_signv in hostkey.o
>       _hostkey_method_ssh_dss_signv in hostkey.o
>       _diffie_hellman_sha1 in kex.o
>       _libssh2_sha1 in openssl.o
>       _libssh2_md5 in openssl.o
>   "_EVP_DigestUpdate", referenced from:
>       _hostkey_method_ssh_rsa_signv in hostkey.o
>       _hostkey_method_ssh_dss_signv in hostkey.o
>       _diffie_hellman_sha1 in kex.o
>       _libssh2_sha1 in openssl.o
>       _libssh2_md5 in openssl.o
>   "_EVP_DigestFinal", referenced from:
>       _hostkey_method_ssh_rsa_signv in hostkey.o
>       _hostkey_method_ssh_dss_signv in hostkey.o
>       _diffie_hellman_sha1 in kex.o
>       _libssh2_sha1 in openssl.o
>       _libssh2_md5 in openssl.o
>   "_RSA_free", referenced from:
>       _hostkey_method_ssh_rsa_dtor in hostkey.o
>       _gen_publickey_from_rsa_evp in openssl.o
>   "_DSA_free", referenced from:
>       _hostkey_method_ssh_dss_dtor in hostkey.o
>       _gen_publickey_from_dsa_evp in openssl.o
>   "_BN_CTX_new", referenced from:
>       _diffie_hellman_sha1 in kex.o
>   "_BN_new", referenced from:
>       _diffie_hellman_sha1 in kex.o
>       _kex_method_diffie_hellman_group1_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group14_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group_exchange_sha1_key_exchange in kex.o
>       __libssh2_rsa_new in openssl.o
>       __libssh2_dsa_new in openssl.o
>       __libssh2_dsa_sha1_verify in openssl.o
>       ...
>   "_BN_rand", referenced from:
>       _diffie_hellman_sha1 in kex.o
>   "_BN_mod_exp", referenced from:
>       _diffie_hellman_sha1 in kex.o
>   "_BN_num_bits", referenced from:
>       _diffie_hellman_sha1 in kex.o
>       __libssh2_dsa_sha1_sign in openssl.o
>       _gen_publickey_from_rsa in openssl.o
>       _gen_publickey_from_dsa in openssl.o
>   "_BN_bn2bin", referenced from:
>       _diffie_hellman_sha1 in kex.o
>       __libssh2_dsa_sha1_sign in openssl.o
>       _write_bn in openssl.o
>   "_BN_bin2bn", referenced from:
>       _diffie_hellman_sha1 in kex.o
>       _kex_method_diffie_hellman_group1_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group14_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group_exchange_sha1_key_exchange in kex.o
>       __libssh2_rsa_new in openssl.o
>       __libssh2_dsa_new in openssl.o
>       __libssh2_dsa_sha1_verify in openssl.o
>       ...
>   "_BN_clear_free", referenced from:
>       _diffie_hellman_sha1 in kex.o
>       _kex_method_diffie_hellman_group1_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group14_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group_exchange_sha1_key_exchange in kex.o
>       __libssh2_dsa_sha1_verify in openssl.o
>   "_BN_CTX_free", referenced from:
>       _diffie_hellman_sha1 in kex.o
>   "_BN_set_word", referenced from:
>       _kex_method_diffie_hellman_group1_sha1_key_exchange in kex.o
>       _kex_method_diffie_hellman_group14_sha1_key_exchange in kex.o
>   "_EVP_sha1", referenced from:
>       _knownhost_check in knownhost.o
>       _mac_method_hmac_sha1_hash in mac.o
>   "_HMAC_Init", referenced from:
>       _knownhost_check in knownhost.o
>       _mac_method_hmac_sha1_hash in mac.o
>       _mac_method_hmac_md5_hash in mac.o
>       _mac_method_hmac_ripemd160_hash in mac.o
>   "_HMAC_Update", referenced from:
>       _knownhost_check in knownhost.o
>       _mac_method_hmac_sha1_hash in mac.o
>       _mac_method_hmac_md5_hash in mac.o
>       _mac_method_hmac_ripemd160_hash in mac.o
>   "_HMAC_Final", referenced from:
>       _knownhost_check in knownhost.o
>       _mac_method_hmac_sha1_hash in mac.o
>       _mac_method_hmac_md5_hash in mac.o
>       _mac_method_hmac_ripemd160_hash in mac.o
>   "_HMAC_CTX_cleanup", referenced from:
>       _knownhost_check in knownhost.o
>       _mac_method_hmac_sha1_hash in mac.o
>       _mac_method_hmac_md5_hash in mac.o
>       _mac_method_hmac_ripemd160_hash in mac.o
>   "_EVP_md5", referenced from:
>       _mac_method_hmac_md5_hash in mac.o
>   "_EVP_ripemd160", referenced from:
>       _mac_method_hmac_ripemd160_hash in mac.o
>   "_RSA_new", referenced from:
>       __libssh2_rsa_new in openssl.o
>   "_RSA_verify", referenced from:
>       __libssh2_rsa_sha1_verify in openssl.o
>   "_DSA_new", referenced from:
>       __libssh2_dsa_new in openssl.o
>   "_DSA_do_verify", referenced from:
>       __libssh2_dsa_sha1_verify in openssl.o
>   "_EVP_CIPHER_CTX_init", referenced from:
>       __libssh2_cipher_init in openssl.o
>   "_EVP_CipherInit", referenced from:
>       __libssh2_cipher_init in openssl.o
>   "_EVP_Cipher", referenced from:
>       __libssh2_cipher_crypt in openssl.o
>   "_EVP_aes_128_ecb", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_aes_192_ecb", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_aes_256_ecb", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_EncryptInit", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_CIPHER_CTX_set_padding", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_CIPHER_CTX_set_app_data", referenced from:
>       _aes_ctr_init in openssl.o
>   "_EVP_CIPHER_CTX_get_app_data", referenced from:
>       _aes_ctr_do_cipher in openssl.o
>       _aes_ctr_cleanup in openssl.o
>   "_EVP_EncryptUpdate", referenced from:
>       _aes_ctr_do_cipher in openssl.o
>   "_BIO_new_file", referenced from:
>       _read_private_key_from_file in openssl.o
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_BIO_free", referenced from:
>       _read_private_key_from_file in openssl.o
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_RSA_size", referenced from:
>       __libssh2_rsa_sha1_sign in openssl.o
>   "_RSA_sign", referenced from:
>       __libssh2_rsa_sha1_sign in openssl.o
>   "_DSA_do_sign", referenced from:
>       __libssh2_dsa_sha1_sign in openssl.o
>   "_DSA_SIG_free", referenced from:
>       __libssh2_dsa_sha1_sign in openssl.o
>   "_EVP_PKEY_get1_RSA", referenced from:
>       _gen_publickey_from_rsa_evp in openssl.o
>   "_EVP_PKEY_get1_DSA", referenced from:
>       _gen_publickey_from_dsa_evp in openssl.o
>   "_EVP_get_cipherbyname", referenced from:
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_OpenSSL_add_all_ciphers", referenced from:
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_BIO_ctrl", referenced from:
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_PEM_read_bio_PrivateKey", referenced from:
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_EVP_PKEY_free", referenced from:
>       __libssh2_pub_priv_keyfile in openssl.o
>   "_PEM_read_bio_DSAPrivateKey", referenced from:
>       __libssh2_dsa_new_private in openssl.o
>   "_PEM_read_bio_RSAPrivateKey", referenced from:
>       __libssh2_rsa_new_private in openssl.o
> ld: symbol(s) not found for architecture i386
> collect2: ld returned 1 exit status
> make[3]: *** [pgadmin3] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
>
  Fixed. Attached is the new patch file.

>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>



-- 
*Akshay Joshi
Senior Software Engineer
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
Phone: +91 20-3058-9522
Mobile: +91 976-788-8246*

Attachment: Complete_SSH_Tunnel_v1.patch
Description: application/octet-stream (995.0 KB)

In response to

Responses

pgadmin-hackers by date

Next:From: Dave PageDate: 2012-07-20 12:50:12
Subject: Re: SSH Tunneling implementation
Previous:From: pgAdmin TracDate: 2012-07-19 20:28:12
Subject: Re: [pgAdmin III] #367: problem with empty arguments of trigger procedure

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group