42 Commits

Author SHA1 Message Date
Enrico Scholz
0236ee5eaa PROXY: implemented native proxy support
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).
2014-10-03 15:06:20 +02:00
David Leadbeater
86fcadb85d Add some missing casts to silence compiler warnings 2014-06-26 00:44:07 +01:00
Alexander Færøy
68f8229373 Add -ssl_pass to /connect and /server
Fixes: Bug #305

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5231 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-01-11 19:53:17 +00:00
Alexander Færøy
eb8dfc8cc9 Clean-up after ourselves
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5223 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-25 21:35:13 +00:00
Alexander Færøy
4d36a9e498 Add TLSA related signals
This patch adds 3 new signals:

  * tlsa avalable: emitted if TLSA is available for a given domain.
  * tlsa verification success: emitted if the TLSA check was successful.
  * tlsa verification failed: emitted if the TLSA check was unsuccessful.

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5220 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:32 +00:00
Alexander Færøy
cb873d5b91 Pass SERVER_REC directly to net_connect_ip_ssl
This patch refactors how we are passing connection information for SSL
connections. This will allow us to emit signals with a SERVER_REC as
parameter during SSL handshake.

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5219 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:26 +00:00
Alexander Færøy
d826896f74 Implement experimental DNSSEC DANE support
This patch adds experimental support for the DNSSEC DANE verification
protocol using the libval library from the DNSSEC-Tools package.

Thanks to Thomas Steen Ramussen for creating a test setup and suggesting
the idea of experimenting with DANE support in Irssi :-)

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5218 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:14 +00:00
Emanuele Giaquinta
7ae4919229 Do not set SSL_OP_ALL, it is not needed to disable SSLv2 and it can prevent
connections to TLSv1.1 servers from working. Patch by pi-rho.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5216 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-06-24 09:50:08 +00:00
Alexander Færøy
4976f75295 Fix indention.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5186 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-07-28 16:15:02 +00:00
Jase Thew
ec83dd762a Fix segfault generated by SSL disconnections. (Bug #752)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5170 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-16 17:50:31 +00:00
Alexander Færøy
dd23f39f09 Do not use SSLv2 protocol. From Bazerka.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5136 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 19:09:11 +00:00
Wouter Coekaerts
dae9a76312 Fix compiling without ssl
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5117 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-02-22 19:37:18 +00:00
Jilles Tjoelker
f32b3938b0 network-openssl: Show why a certificate failed validation.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5116 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-02-19 17:29:10 +00:00
Jilles Tjoelker
efd60c2c51 Call OpenSSL_add_all_algorithms(), may be needed to verify SHA256 certs with certain versions of OpenSSL.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5108 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-01-31 00:15:25 +00:00
Jilles Tjoelker
532e3f5d19 Use one SSL_CTX per connection, use default trusted CAs if nothing specified.
This allows useful use of -ssl_verify without
-ssl_cafile/-ssl_capath, using OpenSSL's default trusted CAs.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5107 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-01-31 00:13:05 +00:00
Wouter Coekaerts
bb4ce4562b Check if an SSL certificate matches the hostname of the server we are connecting to
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5104 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-12-28 12:15:18 +00:00
Jilles Tjoelker
cb68d5f4e6 Tell OpenSSL that our write buffer may move (although the content remains the same).
This fixes disconnects when sending large amounts of data
to the server.
Note that it assumes that write retries will retry the same
data; a reasonable assumption, but it is not necessary for
any normal write().


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5095 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-09-02 20:55:13 +00:00
Jilles Tjoelker
0764675409 Remove unused variable.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5031 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-02-28 23:09:33 +00:00
Jilles Tjoelker
672022461a Improve SSL error display.
Display more detailed error messages about SSL and
fix assertion failure warnings on some SSL errors.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4933 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-30 22:48:39 +00:00
Emanuele Giaquinta
b555e18985 When returning G_IO_STATUS_ERROR in irssi_ssl_{read,write} create a GError with
the openssl error string.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4884 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-02 14:49:48 +00:00
Emanuele Giaquinta
fc85d71d12 Cleanup error handling in irssi_ssl_{read,write}. Return G_IO_STATUS_AGAIN if
openssl error is SSL_WANT_{READ,WRITE}, G_IO_STATUS_ERROR otherwise.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4883 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-02 14:02:00 +00:00
Emanuele Giaquinta
f50b700ed3 Set is_readable/is_writeable/use_buffer flags.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4792 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-30 14:13:52 +00:00
Emanuele Giaquinta
f34b9bba3b Make irssi_ssl_{seek,close} call giochan->funcs->io_{seek,close}
rather than g_io_channel_{seek,close}.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4791 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-30 14:05:39 +00:00
Emanuele Giaquinta
d198fa0abb Use g_io_channel_seek_position in irssi_ssl_seek.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4782 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-28 23:03:17 +00:00
Emanuele Giaquinta
ffe5bd6930 Remove trailing whitespace.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4705 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-02-04 15:30:38 +00:00
Jilles Tjoelker
380d0d3d38 SSL: Fix assertion failures when net_connect_ip() detects
an error, e.g. bad bind address, localhost connection
refused.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4577 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-07-08 19:00:42 +00:00
Jilles Tjoelker
55c2d17c2b Fix crash when SSL-connecting to something which closes
the connection immediately. Also clarify the error message
when the SSL handshake fails.
This bug was introduced after 0.8.11.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4576 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-07-08 18:39:32 +00:00
Emanuele Giaquinta
273152762f Rewrite SSL connection/handshake code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4536 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-31 23:56:51 +00:00
Emanuele Giaquinta
afa4292466 Farewell glib-1.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4509 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-20 23:13:29 +00:00
Wouter Coekaerts
9c2d621cc6 Oops. Update address correctly now.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b Update FSF address
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Valentin Batz
fb6bdac677 replace guint by gsize for the glib2 version of irssi_ssl_read
like it's defined in GIOFuncs for glib2
moved src/fe-text/utf8.* to src/fe-common/core
changed get_utf8_char so it returns a status code and the unichar argument pointer
to the value that it returned before if there were no errors,
so you can check for a negative value an handle the error


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4091 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-23 18:30:22 +00:00
Valentin Batz
674eec8fd2 Remove the inline declarations, patch by nailbiter
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4040 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-15 08:46:35 +00:00
Timo Sirainen
1121a3fcb7 Fixed some memory leaks.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3162 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-16 23:54:52 +00:00
Timo Sirainen
0764211998 compile fix if there's no openssl
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3154 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-16 19:40:04 +00:00
Timo Sirainen
0ece10f26a compile fix for glib2
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3148 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-16 18:00:23 +00:00
Timo Sirainen
43b0d36ee1 Support for sending SSL certificate to server and optionally verify server's
certificate. See the -ssl_* options for /SERVER and /SERVER ADD. Patch by
Joel Eriksson <je-irssi@bitnux.com>.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3146 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-16 17:53:55 +00:00
Timo Sirainen
39fc0f5ea1 compiling fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2977 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-10-28 01:12:09 +00:00
Timo Sirainen
9f089f360d GLIB2 support for SSL code. Patch by vjt@users.sf.net
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2973 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-10-26 18:56:35 +00:00
Timo Sirainen
8790f97869 right. maybe now builds with glib2 right?
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2898 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26 23:37:49 +00:00
Timo Sirainen
a17321c5c8 fixes to work with glib2 (untested...)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2897 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26 23:34:55 +00:00
Timo Sirainen
1539cf81f3 Added OpenSSL support by vjt@users.sf.net. Also fixes a possible crash after
using /SERVER ADD -ircnet.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2890 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26 19:32:15 +00:00