summaryrefslogtreecommitdiff
path: root/src/core/servers-reconnect.c
AgeCommit message (Collapse)Author
2016-10-22Add x509 certificate and public key pinning support.Alexander Færøy
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-22Rename SSL to TLS.Alexander Færøy
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-06-12servers-reconnect: pass unix_socket attribute to new connectiondequis
Trying to /reconnect unix sockets turned them into inet.
2015-10-08Fix /reconnect RECON-1 saying "Reconnection tag 1 not found"dequis
Turns out it was fixing the wrong string, and trying to do atoi("RECON-1") instead of atoi("1"). "/reconnect 1" worked, but "/reconnect RECON-1" gave that confusing error message.
2015-09-22Revert "Network and IPv{4,6} related changes"ailin-nemui
2015-09-21Initial work to make irssi respect the resolved ip orderLemonBoy
Ip's aren't selected using random() anymore, also select the ip version by using getaddrinfo and some proper hints.
2015-04-17Merge pull request #235 from dequis/g_strcmp0Alexander Færøy
Change all strcmp() to g_strcmp0() to handle nulls gracefully
2015-04-14ssl: Add option to specify SSL cipher suite preference.Haw Loeung
2015-04-07Change all strcmp() to g_strcmp0() to handle nulls gracefullydequis
Just a string replacement (but i did check every one of them) sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2014-12-03Check for unix sockets when reconnectingGuillaume BROGI
2014-06-10Replace deprecated g_str[n]casecmp with g_ascii_str[n]cmp.David Hill
2011-11-21Add -noautosendcmd to /SERVER and /CONNECT.Alexander Færøy
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
2008-08-25Ignore DNS not found errors when considering reconnect.Jilles Tjoelker
Contrary to the standards, these are often transient. git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4873 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09Use g_ascii_str{,n}casecmp for case insensitive comparison withEmanuele Giaquinta
ascii only strings. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4739 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09Use g_ascii_str{,n}casecmp for case insensitive comparison withEmanuele Giaquinta
ascii only strings. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4738 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-30Apply patch from bug #202 (from "Irssi Fan"); when callingJilles Tjoelker
reconnect_save_status() for a server that has not sent 001 yet, do not free and reallocate conn->channels twice, and do not copy the channels if server->connrec->no_autojoin_channels is set. It seems a special case because reconnect_save_status() is not usually called for servers that have not sent 001 yet, but it can't really hurt. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4532 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08Oops. Update address correctly now.Wouter Coekaerts
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08Update FSF addressWouter Coekaerts
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-03-06Fix memleak in several commands that used cmd_return_error when they should ↵Wouter Coekaerts
be using cmd_param_error, by Toby Peterson (Bug 213) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3715 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-03-03reverted the username/realname keeping with /reconnect. it was broken.Timo Sirainen
fixing it properly would need to keep track of if the username/realname came from /ircnet -username or /server add -username or what.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3228 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19Say when we're reconnecting, and mention it can be aborted with /RMRECONNSTimo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19Don't try to keep user_name/real_name with /reconnect. They couldn't haveTimo Sirainen
been overridden with /server command anyway, so we most likely never want to keep it. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3203 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-16Support for sending SSL certificate to server and optionally verify server'sTimo Sirainen
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
2002-12-28Added time, size and level setting types. Breaks some settings - I'll addTimo Sirainen
automatic converter to these settings later. Meanwhile you CVS users can fix your config files yourself :) Time settings allow using "days", "hours", "minutes", "seconds" and "milliseconds" or several of their abbreviations. For example "5d 4h 5msecs". Size settings allow using "gbytes", "mbytes", "kbytes" and "bytes" or their abbrevations. For example "5MB". Level settings are currently handled pretty much the way they were before. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3080 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-11-19Timeout server connections if they're not in fully connected stage in /SETTimo Sirainen
server_connect_timeout seconds. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3013 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-10-14updated /reconnect syntax.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2953 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-10-14/RECONNECT <tag>|* [<quit message>] - if tag is a connected server tag thatTimo Sirainen
server is reconnected with specified quit message. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2952 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-09-30If reconnection was aborted by trying to reconnect to another server, theTimo Sirainen
channels and usermode wasn't restored. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2934 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-09-07banned/dns_error state was set to servers in setup, but never reset, whichTimo Sirainen
means irssi stopped reconnecting to those servers forever if they occured once. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2910 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26Added OpenSSL support by vjt@users.sf.net. Also fixes a possible crash afterTimo Sirainen
using /SERVER ADD -ircnet. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2890 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-20/UPGRADE was broken, changed again the server connection code.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2821 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-03if /CONNECT -! ircnet couldn't connect to first server, next was tried butTimo Sirainen
-! was forgotten. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2653 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-22Never reconnect immediately to server when server is being disconnected -Timo Sirainen
this could lead scripts (or maybe even irssi itself) handle the partially disconnected server wrong. Also moved the server->disconnected = TRUE before the "server disconnected" signal is sent, this makes sure the server_disconnect() is never called twice. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2339 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-22Added /SET proxy_string_after setting which gets sent after NICK/USER, bncTimo Sirainen
wants this. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2338 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-06/UPGRADE broke reconnections to server.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-01/UPGRADE shouldn't begin server reconnections in old client.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2176 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-25Doing /RECONNECT while server was still being connected to, irssiTimo Sirainen
didn't disconnect the server so you ended up having two connections. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2139 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-03/RECONNECT ALL crashed irssi (typofix - s/unref/ref/ :)Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1959 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-21Added reference counter to SERVER_CONNECT_REC. Since it's being moved aroundTimo Sirainen
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-06-27Using different ports in one server for different chat networks didn't workTimo Sirainen
properly. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1580 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-06-08Try to keep the number after server tag always the same when there'sTimo Sirainen
multiple connections to the same server. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1540 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-20added /SET proxy_passwordTimo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1414 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-14Reconnecting shouldn't lose the address family.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1383 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-07If one server fails because of DNS error, don't stop reconnecting toTimo Sirainen
entire chatnet. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1361 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04Send "chat protocol deinit" signal when protocol is beingTimo Sirainen
deinitialized. Servers and reconnections are automatically disconnected for the protocol when it's being deinitialized. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1341 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04IPv6 fixes. Everything now keeps both v4 and v6 addresses in memory andTimo Sirainen
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-02-19/RECONNECT ALL - reconnects to all servers in reconnection queueTimo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1253 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-19/RECONNECT reconnects now to server with identical settings.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1247 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-19Connection updates: moved /SERVER and /CONNECT to core from irc.Timo Sirainen
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-01-01Added/moved several "typedef struct _XXX XXX;" to common.h so thatTimo Sirainen
they're known to all files and I don't need those stupid "void *xxx" anymore just to avoid useless #include. Header files themselves don't either include others as often anymore. Added channel->ownnick to point to our NICK_REC in channel's nicks. Gives a minor speedup in few places :) Moved completion specific lastmsgs from channel/server core records to fe-common/core specific records. Also changed the nick completion logic a bit so it should work better now. Removed completion_keep_publics_count setting, but changed the meaning of completion_keep_publics to same as _count was before. Nick completion doesn't have any time specific code anymore. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1034 dbcabf3a-b0e7-0310-adc4-f8d773084564