1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00
Commit Graph

25 Commits

Author SHA1 Message Date
Shivaram Lingamneni
7d44964dcd fix #641
Track the address family of the last failed connection attempt
(either immediately or during TLS handshake), then disprefer
that address family during reconnection.
2019-12-09 22:48:56 -05:00
Alexander Færøy
5146ce9631
Add x509 certificate and public key pinning support.
This patch adds two new options to /CONNECT and /SERVER to let the user
pin either an x509 certificate and/or the public key of a given server.

It is possible to fetch the certificate outside of Irssi itself to
verify the checksum. To fetch the certificate call:

    $ openssl s_client -connect chat.freenode.net:6697 < /dev/null 2>/dev/null | \
      openssl x509 > freenode.cert

This will download chat.freenode.net:6697's TLS certificate and put it into the
file freenode.cert.

-tls_pinned_cert
----------------

This option allows you to specify the SHA-256 hash of the x509
certificate. When succesfully connected to the server, irssi will verify
that the given server certificate matches the pin set by the user.

The SHA-256 hash of a given certificate can be verified outside of irssi
using the OpenSSL command line tool:

    $ openssl x509 -in freenode.cert -fingerprint -sha256 -noout

-tls_pinned_pubkey
------------------

This option allows you to specify the SHA-256 hash of the subject public key
information section of the server certificate. This section contains both the
cryptographic parameters for the public key, but also information about the
algorithm used together with the public key parameters.

When succesfully connected to the server, irssi will verify that the
given public key matches the pin set by the user.

The SHA-256 hash of a public key can be verified outside of irssi using
the OpenSSL command line tool:

    $ openssl x509 -in freenode.cert -pubkey -noout | \
      openssl pkey -pubin -outform der | \
      openssl dgst -sha256 -c | \
      tr a-z A-Z

It is possible to specify both -tls_pinned_cert and -tls_pinned_pubkey
together.
2016-10-22 22:01:50 +02:00
Alexander Færøy
2be7289085
Rename SSL to TLS.
This patch changes the internal name of SSL to TLS. We also add -tls_*
options to /CONNECT and /SERVER, but make sure that the -ssl_* versions
of the commands continue to work like before.
2016-10-22 20:36:50 +02:00
ailin-nemui
f5f3d7cc98 Revert "Network and IPv{4,6} related changes" 2015-09-22 21:59:17 +02:00
LemonBoy
ffaa890e99 Initial work to make irssi respect the resolved ip order
Ip's aren't selected using random() anymore, also select the ip version
by using getaddrinfo and some proper hints.
2015-09-21 14:19:35 +02:00
Haw Loeung
50e955e342 ssl: Add option to specify SSL cipher suite preference. 2015-04-14 18:07:35 +10: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
796134ffbd Add -noautosendcmd to /SERVER and /CONNECT.
Passing this option will force Irssi to not execute the content of the
autosendcmd chatnet-setting upon connect.

Fixes: #738


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5209 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-11-21 21:27:58 +00:00
Timo Sirainen
e980500702 Say when we're reconnecting, and mention it can be aborted with /RMRECONNS
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19 17:52:08 +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
27f54e286f Added no_connect to SERVER_CONNECT_REC, also exported a few other variables
to perl.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3042 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-12-04 11:39:31 +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
Timo Sirainen
4aa0b9111e /UPGRADE was broken, changed again the server connection code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2821 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-20 04:12:12 +00:00
Timo Sirainen
6f7485b8fa net_connect*() contains now error parameter, so it can be used to properly
check the errno if connect() fails.

Added support for connecting to named UNIX sockets. Some cleanups with
session handling / server connecting as well.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2819 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-19 14:43:16 +00:00
Timo Sirainen
0157d234f8 Added /SET proxy_string_after setting which gets sent after NICK/USER, bnc
wants this.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2338 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-22 20:29:45 +00:00
Timo Sirainen
01404a3713 /CONNECT -! doesn't autojoin to channels.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2082 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 14:02:27 +00:00
Timo Sirainen
1256621041 Added reference counter to SERVER_CONNECT_REC. Since it's being moved around
a lot in reconnects etc. this should make it easier to track when it's
supposed to be destroyed. Hopefully fixes a crash I assume is related to
this but couldn't find..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1880 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-21 13:59:07 +00:00
Timo Sirainen
7773aabb2c Try to keep the number after server tag always the same when there's
multiple connections to the same server.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1540 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-06-08 21:19:08 +00:00
Timo Sirainen
ae6d2014e5 added /SET proxy_password
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1414 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-20 23:24:45 +00:00
Timo Sirainen
4c7b07ed3f IPv6 fixes. Everything now keeps both v4 and v6 addresses in memory and
at connect() time it's decided which one should be used.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1334 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 01:47:13 +00:00
Timo Sirainen
b8375d471f Connection updates: moved /SERVER and /CONNECT to core from irc.
Several other related multiprotocol updates.

Removed /SILCSERVER from SILC, /CONNECT and /SERVER should work
properly now. Rejoining channels after reconnection works.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1245 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-19 02:15:15 +00:00
Timo Sirainen
8938a0f42b /CONNECT, /SERVER: added -4 and -6 options for specifying if we should
connect to IPv4 or IPv6 address of the server. If -host or /SET
hostname is set irssi determines from it if it should use IPv4 or v6.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1192 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-09 21:26:50 +00:00
Timo Sirainen
8ce36c05ea several fixes to make irssi compile without warnings with MIPSpro
also fixed ctcp_queue_clean() - it might have crashed sometimes..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@859 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-11-23 21:40:07 +00:00
Timo Sirainen
28a7908e73 Added chat protocol register. Changed all chat_type fields to use it.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@640 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-09-01 00:26:46 +00:00
Timo Sirainen
e395e87ded Lots of moving stuff around - hopefully I didn't break too much :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@632 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-08-26 15:39:44 +00:00