Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Torsocks
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 38
    • Issues 38
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • Torsocks
  • Issues
  • #8066
Closed
Open
Issue created Jan 27, 2013 by Roger Dingledine@armaReporter

usewithtor + irssi + ssl = "Socks version 22 not recognized"

Set up your ~/.irssi/config with

servers = (
  {
    address = "irc.oftc.net";
    chatnet = "oftc";
    #port = "6667";
    port = "6697";
    use_ssl = "yes";
    # ssl_cert = "~/.irssi/certs/[NICK].pem";
    # ssl_verify = "yes";
    # ssl_cafile = "~/.irssi/certs/CAs.pem";
    autoconnect = "yes";
  }
);

and then run

usewithtor irssi

Your Tor client will log something like

Jan 27 17:43:52.000 [warn] Socks version 22 not recognized. (Tor is not an http proxy.)
Jan 27 17:43:52.000 [warn] Fetching socks handshake failed. Closing.

and your irssi will complain with something like

18:06 -!- Irssi: Looking up irc.oftc.net
18:06 -!- Irssi: Connecting to irc.oftc.net [140.211.166.64] port 6697
18:06 -!- Irssi: warning SSL handshake failed: Connection reset by peer
18:06 -!- Irssi: Connection lost to irc.oftc.net

What's happening behind the scenes is that your irssi is attempting a connect, getting an einprogress (presumably since it's non-blocking), sending the ssl handshake right then, and then later torsocks tries to inject the socks handshake. Oops.

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
getsockopt(4, SOL_SOCKET, SO_TYPE, [1], [4]) = 0
getpeername(4, 0x7fff04186010, [16])    = -1 ENOTCONN (Transport endpoint is not connected)
connect(4, {sa_family=AF_INET, sin_port=htons(9050), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)
fstat(4, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl(4, F_GETFL)                       = 0x802 (flags O_RDWR|O_NONBLOCK)
...
write(4, "\26\3\1\1;\1\0\0017\3\3Q\5\253\315\302\4\246F_\255\232\205\206h\24\345\351\310e'\r"..., 320) = 320
read(4, 0x19a9770, 7)                   = -1 EAGAIN (Resource temporarily unavailable)
...
sendto(4, "\4\1\32)\0\0\0\1arma\0irc.oftc.net\0", 26, 0, NULL, 0) = 26
recvfrom(4, "", 8, 0, NULL, NULL)       = 0
...
close(4)                                = 0
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking