From the original patch by Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 26 Feb 2008
This patch adds the code and rules to build the various proxy methods.
From original patch by Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 26 Feb 2008
This patch adds code for connecting through SOCKS5 proxies. It was
primarily written for use with TOR, so there are some open issues:
* it only allows to make proxy requests with full hostnames; ipv4/ipv6 is
not supported
* GSSAPI authentication (which is mentioned as mandatory in RFC 1928) is
not implemented
* plaintext authentication is untested
To use it
* set 'proxy_type' to 'socks5'
From original patch by Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 26 Feb 2008
This patch adds code for connecting through HTTP proxies. Open issues are:
* support of proxy authentication
* a possible DOS due to the usage of g_io_channel_read_line_string() which
does not allow to specify a maximum length of line.
For the original patch by Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 26 Feb 2008
This patch creates a hook into the net_connect*() methods which call a
method to connect to a proxy.
Previous solution to send certain strings in the normal IRC dialog was
some kind of hack as most proxies require some kind of negotation.
E.g. HTTP proxies sent a 'HTTP/1.0 200 Connection established' HTTP header
and clients have to wait for it. Else, sent bytes of the following IRC
login will be dropped silently.
With old method, it is also impossible to tunnel SSL IRC connections
through the proxy as proxy speaks plain text or a special protocol while
e.g. 'CONNECT ... HTTP/1.0' will be encrypted with key of IRC server.
There are further enhancements possible: the whole net_connect stuff
should be made asynchronously. Currently, only the hostname is resolved
in the background (which makes little sense of local proxies usually).
That error code means "check errno". A few users got it and we never
figured out what happened - it usually fixed itself after restarting
something - so hopefully with this we'll have more information the next
time.
* Adds two new keys which you can bind in /bind:
yank_next_cutbuffer: Revert to the previous last deleted text
append_next_kill: Append next deletion
* Consecutive kills are now appended to the current cutbuffer