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

59 Commits

Author SHA1 Message Date
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
LemonBoy
e5ee243ab6 Simplify some logic in server_create_conn 2016-03-22 15:45:08 +01:00
LemonBoy
6745dd6159 Throw an error when a chatnet has no available url
If you type /connect <CN> and the chatnet <CN> has no url available
let's just throw an error instead of trying to process <CN> as a url.
2016-03-19 14:04:53 +01:00
LemonBoy
1749a7a5ab Minor adjustments.
Use g_strcmp0 instead of strcmp.
Explicit checks added for the g_strcmp0 clauses.
2015-12-09 16:16:03 +01:00
LemonBoy
971417caa3 Rewrite some faulty logic handling the saved servers. 2015-12-09 16:02:37 +01:00
isundil
ef1a09b87d Fix return value of server_setup_remove_chatnet 2015-10-01 22:53:34 +02:00
isundil
6ca7dc6847 Updated server removal
Removing network will also remove attached channels
2015-10-01 22:36:02 +02:00
isundil
2ad6bb1295 Fix #45 Make it easy to delete default channels, servers and networks
Removing network will now also remove all attached servers
2015-10-01 21:14:30 +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
Alexander Færøy
eb0f09073c Merge pull request #199 from ailin-nemui/config-parser
Make config parser more robust
2015-04-17 21:23:03 +02:00
Alexander Færøy
03be2861dc Merge pull request #235 from dequis/g_strcmp0
Change all strcmp() to g_strcmp0() to handle nulls gracefully
2015-04-17 21:13:18 +02:00
Haw Loeung
50e955e342 ssl: Add option to specify SSL cipher suite preference. 2015-04-14 18:07:35 +10:00
dequis
f14199d9c1 Change all strcmp() to g_strcmp0() to handle nulls gracefully
Just a string replacement (but i did check every one of them)

    sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00
Ailin Nemui
96d4fb9156 add CONFIG_REC to config_node_section* APIs
this adds the CONFIG_REC * to the config_node_section and
config_node_section_index APIs as they will require access to the config
cache later on to make the config parser more robust.
2015-02-17 09:50:55 +01:00
Guillaume BROGI
f0a6e5f82a Correctly parse unix sockets servers in the config 2014-11-20 17:01:07 +01:00
David Hill
0d4f13d20f Replace deprecated g_str[n]casecmp with g_ascii_str[n]cmp. 2014-06-10 12:06:19 -04: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
e37be456cd Allow servers with the same server and port to be part of multiple networks. This should make life much easier for znc users. Thanks to Tykling, Bazerka and znx.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5125 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-03-21 20:06:10 +00:00
Emanuele Giaquinta
e32e6fea4b Make some variables static.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4814 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-28 09:27:13 +00:00
Emanuele Giaquinta
be3818930a Remove unused global use_ssl and ssl_* settings.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4776 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-15 19:13:38 +00:00
Emanuele Giaquinta
7df46597e1 Use g_ascii_str{,n}casecmp for case insensitive comparison with
ascii only strings.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4738 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09 12:01:16 +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
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
1c33e3e896 /SERVER -ssl option was lost while reconnecting if server existed in /SERVER
LIST without SSL.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2894 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26 22:53: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
Timo Sirainen
8df077426d server_setup_add() now emits signal "server setup updated"
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2771 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-11 00:37:48 +00:00
Timo Sirainen
b38f4da166 renamed old config_node_index() to config_node_nth(). added new
config_node_index() function. added config_node_section_index() for
adding/moving node to specified position in list.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2460 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-15 22:18:35 +00:00
Timo Sirainen
9575eecb39 Removed some old backwards compatibility code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2411 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-10 11:04:08 +00:00
Timo Sirainen
0ce3f8243e Comments are now allowed everywhere in config files.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2374 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-02 17:37:44 +00:00
Timo Sirainen
e00877e89b /SERVER ADD -noproxy wasn't saved to config
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2345 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-25 02:28:42 +00:00
Timo Sirainen
182adb805c /SERVER ADD: added -noproxy option and -proxy which just removes the
-noproxy.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2344 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-24 20:57: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
4c6237256f /IRCNET ADD -usermode option added.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2206 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-06 23:29:48 +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
e5abcdb76c fix a fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1869 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-20 22:02:55 +00:00
Timo Sirainen
097206878d When assiging chatnet to server connect record, always try to get the name
from chatnets list so the case will be correct.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1868 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-20 21:39:01 +00:00
Timo Sirainen
53975363ce Using different ports in one server for different chat networks didn't work
properly.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1580 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-06-27 21:47:31 +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
57493acd39 /CONNECT -ircnet didn't load ircnet specific settings correctly
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1363 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-08 00:24:27 +00:00
Timo Sirainen
38fbd48712 save_ips() wasn't working properly..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1338 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 02:58:26 +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
481f4bc327 /SET resolve_prefer_ipv6 - should we prefer IPv6 or IPv4 addresses in
host name resolving. /SERVER ADD: added options -4 and -6. Fixed crash
at startup if server didn't have chat network set. "Connecting to xxx
[ip]" is now displayed before calling connect(), so if it fails we'll
still get the IP it's trying to connect to.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1268 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-20 16:23:28 +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
be6ba53fa4 Config file: ircnets -> chatnets, added type = "chat protocol" to
chatnet config. Moved reading chatnets to core. Lots of other
multiprotocol updates.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1237 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-17 19:44:22 +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
b4a56832cb backwards compatibility fix: when changing ircnet -> chatnet, the
chatnet name in memory was corrupted


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1159 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-28 10:19:53 +00:00
Timo Sirainen
99b29df17c put back ircnet -> chatnet backwards compatibility, this time modify
the config file to use chatnet so after .98 we could remove this


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1016 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-12-19 17:47:33 +00:00