я так понял - что никак...
все попытки закончились неудачно.
как тогда шифровать асю?
может я чего не так делаю?
туннель рабочий (проверял с други концом)
Софт:
на клиенте(WinXP) и на сервере(FreeBSD 4.9) стоит stunnel-4.05
ICQ-клиент - &RQ
конфиги:
---BEGIN stunnel_client.conf---
cert = stunnel2.pem
CAfile = stunnel.pem
debug = 7
output = stunnel.log
client = yes
[rqicq]
accept = localhost:5190
connect = My_Server_Host_IP:5190
TIMEOUTclose = 0
---END stunnel_client.conf---
---BEGIN stunnel_server.conf---
...
Cert = /usr/local/etc/stunnel/stunnel.pem
setuid = stunnel
setgid = nogroup
verify = 3
CAfile = /usr/local/etc/stunnel/certs.pem
debug = 7
output = /var/log/stunnel.log
client = no
[icqsrv]
accept = 5190
connect = 64.12.24.114:5190
#connect = login.icq.com:5190 - полюбому редиректит ICQ-клиент на другой IP
TIMEOUTclose = 0
---END stunnel_server.conf---
если ближе к делу - то при установке коннекта на login.icq.com, мирабы отправляют _КЛИЕНТУ_ по ихнему_протоколу адрес (незагруженного)? сервера
в моём случае это 64.12.24.114, и разрывают коннект.
login.icq.com - типа шлюза раздачи свободных серверов.
может тривиальные вещи говорю, но на всякий случай... продолжу
короче, ICQ-client получает адрес, и _минуя_ туннель, коннектится к 64.12.24.114
всё. жопа.
как видно из конфига - конец прописываю сам, тот который дают нам мирабы.
полагая что они сами определили его как самый_подходящий и теперь перекидывать не будет...
но тогда вот что происходит на сервере:
---BEGIN tail stunnel.log
...
remote connect #1: EINPROGRESS: retrying
waitforsocket: FD=10, DIR=write
waitforsocket: ok
remote connect #2: EINVAL: ok
Remote FD=10 initialized
readsocket: Connection refused (61)
Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
icqsrv finished (0 left)
---END
и у клиента:
--->
...
SSL_read (ERROR_SYSCALL): Connection reset by peer (WSAECONNRESET) (10054)
Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
rqicq finished (0 left)
---<
вот чего кажет windump:
--->
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: S 3116787558:3116787558(0) win 8760<mss 1460>
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: S 4259983731:4259983731(0) ack 3116787559 win 57344 <mss 1460>
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: . ack 1 win 8760
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: P 1:133(132) ack 1 win 8760
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: P 1:742(741) ack 133 win 58400
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: P 133:1118(985) ack 742 win 8019
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: P 742:817(75) ack 1118 win 58400
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: . ack 817 win 7944
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: P 817:891(74) ack 1118 win 58400
My_Client_Host_IP.3310 > My_Server_Host_IP.5190: P 1118:1320(202) ack 891 win 7870
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: . ack 1320 win 58400
My_Server_Host_IP.5190 > My_Client_Host_IP.3310: R 891:891(0) ack 1320 win 58400
---<
ну почему?! почему мой_сервер отсылает резет?
к сожалению, нет возможности снифать сервер
но даже при первом варианте (в концовке писать login.icq.com) - после "редиректа" (мой_клиент отсылает 3 SYN)
на 64.12.24.114.5190, в ответ получает только Reset`ы
а тут (^^windump STOUT^^) вроде как подружились и разбежались
всё же надеюсь - что я что-то не так делаю, делается ведь линк как-то?
кто делал - отзовитель пожалуйста
есть ли ещё варианты?