I have re-confirmed that lftp is linked to a socks LIB
% ldd /opt/csw/bin/lftp | grep socks
libsocks.so.0 => /opt/csw/lib/sparcv8/libsocks.so.0
Other libs:
LFTP | Version 4.0.10 | Copyright (c) 1996-2010 Alexander V. Lukyanov
Libraries used: Readline 6.1, Expat 2.0.1, OpenSSL 0.9.8q 2 Dec 2010,
My socks.conf file (/etc/opt/csw/socks.conf) has the following:
route {
from: 0.0.0.0/0 to: . via: 999.999.999.999 port = 1080
protocol: tcp udp # server supports tcp and udp.
proxyprotocol: socks_v4 socks_v5 # server supports socks v4 and v5.
method: none #username # we are willing to authenticate via
# method "none", not "username".
}
NOTE: 999.999.999.999 is placeholder for the internal IP address of my SOCKS
server running Dante
Now when I do the following, I get a Segmentation fault, does anyone have an
idea why the binary seg-faults:
setenv SOCKS_PROXY myProxySvr:1080
lftp
debug 19
set net:timeout 10
set net:reconnect-interval-base 2
set ftp:port-range 9000-9200
set ftp:use-feat off
set ftp:ssl-auth TLS
set ftp:ssl-force true
set ftp:ssl-allow yes
set ftp:ssl-data-use-keys yes
set ftp:ssl-protect-data yes
set ftp:ssl-protect-list yes
set ssl:cert-file public_rsa_server_cert.pem
set ssl:key-file private_rsa_server_key.pem
set ssl:ca-file target_svr_ssl-crt.cer
open ftp://anonymous:anonymous@target_svr.com:9005
---- Resolving host address...
---- 1 address found: XXX.XXX.XXX.XXX
lftp target_svr.com:~>
lftp target_svr.com:~> ls
FileCopy(1900d0) enters state INITIAL
FileCopy(1900d0) enters state DO_COPY
---- dns cache hit
---- Connecting to target_svr.com (XXX.XXX.XXX.XXX) port 9005
Segmentation faulting...]
My Socks/dante server log is just showing:
Apr 15 17:06:26 (1302901586.117914) sockd[14064]: pass(2): tcp/connect
[: my_localhost_ip_address.52832 -> target_svr_ip_address.9005
My socks.debug log on the client server has the following:
socks_socketisforlan(): getsockopt(IP_MULTICAST_IF) failed: Option not
supported by protocol
Rconnect(): socket 4, address target_svr_ip_address.9005
Rconnect(): doing socks_rmaddr(4) before continuing ...
fakesockaddr2sockshost(): target_svr_ip_address.9005 ->
target_svr_ip_address.9005
socks_getroute(): searching for direct route for connect, protocol tcp, src
0.0.0.0.0, dst target_svr_ip_address.9005, ...
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching IPv4 address my_localhost_ip_address/26, tcp: 0, udp: 0,
op: none, end: 0 against target_svr_ip_address.9005, for protoco
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching IPv4 address 127.0.0.1/8, tcp: 0, udp: 0, op: none, end:
0 against target_svr_ip_address.9005, for protocol t
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching IPv4 address socks_proxy_ip_addr/32, tcp: 1080, udp:
1080, op: eq, end: 0 against target_svr_ip_address.9005, for pro
socks_getroute(): no direct route found
socks_getroute(): searching for socks_v5 route for connect, protocol tcp, src
0.0.0.0.0, dst target_svr_ip_address.9005, ...
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching host/domain name ., tcp: 0, udp: 0, op: none, end: 0
against target_svr_ip_address.9005, for protocol tcp, wi
hostareeq(): ., uat.dbdirectconnect.db.com
socks_getroute(): socks_v5 route found, route #1
socks_nbconnectroute(): socket 4
socks_getroute(): searching for socks_v5 route for connect, protocol tcp, src
0.0.0.0.0, dst target_svr_ip_address.9005, ...
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching host/domain name ., tcp: 0, udp: 0, op: none, end: 0
against target_svr_ip_address.9005, for protocol tcp, wi
hostareeq(): ., uat.dbdirectconnect.db.com
socks_getroute(): socks_v5 route found, route #1
socks_nbconnectroute(): no SIGIO handler previously installed
socks_nbconnectroute(): our signal handler is not installed, installing ...
socks_nbconnectroute(): socketpair(SOCK_DGRAM) returned 8, 9
socks_nbconnectroute(): socketpair(SOCK_STREAM) returned 12, 11
socks_nbconnectroute(): SNDBUF set to 20920 and 20920, minimum was 20920
socks_nbconnectroute(): RCVBUF set to 20920 and 20920
socks_nbconnectroute(): connectchild forked with pid 14936
socks_nbconnectroute(): socket to use for non-blocking connect: 10
socks_connectroute(): socket 10
socks_getroute(): searching for socks_v5 route for connect, protocol tcp, src
0.0.0.0.0, dst target_svr_ip_address.9005, ...
socks_getroute(): checking for src match ...
addrmatch(): matching IPv4 address 0.0.0.0/0, tcp: 0, udp: 0, op: none, end: 0
against 0.0.0.0.0, for protocol tcp, without
socks_getroute(): checking for dst match ...
addrmatch(): matching host/domain name ., tcp: 0, udp: 0, op: none, end: 0
against target_svr_ip_address.9005, for protocol tcp, wi
hostareeq(): ., uat.dbdirectconnect.db.com
socks_getroute(): socks_v5 route found, route #1
socks_nbconnectroute(): connectchild forked, our pid is 14936, mother is 14926
socks_connectroute(): found socks_v4, socks_v5 route #1 to
target_svr_ip_address.9005 via socks_proxy_ip_addr.1080
run_connectchild(): data 9, ack 11
socks_connecthost(): to socks_proxy_ip_addr.1080 on socket 10
socks_connecthost(): connect to socks_proxy_ip_addr.1080 from
my_localhost_ip_address.52832 on socket 10 in progress (Operation now in
progress
socks_nbconnectroute(): sending request of size 2012 + 16 to connectchild, 0
requests previously outstanding
Rconnect(): route for socket 4 found, errno = 150
got route, nonblocking connect in progress, errno = 150 (Operation now in
progress)
run_connectchild(): received request of size 2012 + 16 from mother
run_connectchild(): controlsocket 3, datasocket 3
run_connectchild(): control local: my_localhost_ip_address.52832
run_connectchild(): waiting for connect response ...
run_connectchild(): checking result ... connect succeeded
negotiate_method(): socket 3, laddr: my_localhost_ip_address.52832, raddr:
socks_proxy_ip_addr.1080, protocol: tcp
negotiate_method(): offering proxy server 1 method: none
socks_sendto(): socket 3, len 3
socks_recvfrom(): socket 3, len 2
socks_recvfrom(): read 2 bytes, errno = 0
negotiate_method(): proxy server selected method none
negotiate_method(): established v5 connection using method 0
socks_sendrequest(): sending request: VER: 5 CMD: 1 FLAG: 0 ATYP: 1 address:
target_svr_ip_address.9005
socks_sendto(): socket 3, len 10
socks_recvfrom(): socket 3, len 3
Rwrite(), socket 1
Rsend(), socket 1
Rsendmsg(), socket 1, msg ffbfe7d4
Rwrite(), socket 1
Rsend(), socket 1
Rsendmsg(), socket 1, msg ffbfe7d4
socks_recvfrom(): read 3 bytes, errno = 0
socks_recvfrom(): socket 3, len 1
socks_recvfrom(): read 1 byte, errno = 0
socks_recvfrom(): socket 3, len 4
socks_recvfrom(): read 4 bytes, errno = 0
socks_recvfrom(): socket 3, len 2
socks_recvfrom(): read 2 bytes, errno = 0
socks_recvresponse(): received response: VER: 5 REP: 0 FLAG: 0 ATYP: 1 address:
socks_proxy_ip_addr.52832
serverreplyisok(): version 5, reply 0
run_connectchild(): socks_negotiate() succeeded
run_connectchild(): sending response to mother, size 2012, socket 4 and 3
run_connectchild(): recvmsg(): Connection reset by peer (errno = 131)
----------------------------------------
> Subject: Re: LFTP Issues Connecting to SOCKS Proxy
>
> Hi,
>
> When I tested this before, I used the SOCKS_PROXY or SOCKS5_PROXY
> variables and also make sure your version of lftp is linked to the socks
> libraries (ldd `which lftp` | grep socks).
>
> Justin.
>
> JL Picard wrote:
>
>> Can I at least get a response to these questions:
>> Just to confirm ,do I need these variables set in the LFTP session to use the
>> proxy:
>> set ftp:proxy gateway.mydomain.com:1080
>> set ftp:proxy-auth-type open
>>
>> Should the ftp:proxy setting be:
>> set ftp:proxy ftp://gateway.mydomain.com:1080
>>
>>
>>