49 Commits

Author SHA1 Message Date
ailin-nemui
7e6e1f2e10 Use full paths to includes 2019-05-01 22:08:45 +02: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
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
Haw Loeung
50e955e342 ssl: Add option to specify SSL cipher suite preference. 2015-04-14 18:07:35 +10: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
Alexander Færøy
df1d7a7814 glib iochannel fixes from exg.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5137 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 20:04:15 +00:00
Alexander Færøy
c561ba35e6 Code Cleanup:
Use g_string_append_printf() instead of g_string_sprintfa() (which is considered deprecated.)


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5003 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-02-08 17:22:42 +00:00
Jilles Tjoelker
89cd47bf3a Allow storing multiple "other" prefixes such as +q and +a.
Original patch by JasonX, somewhat changed by exg and me.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4922 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-28 00:16:51 +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
Emanuele Giaquinta
ab8da71d29 Remove popt and use glib GOption commandline option parser
(glib-2.6 is now the minimum required version).


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4700 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-02-03 16:48:02 +00:00
Emanuele Giaquinta
20d8f4d26b Hide --session from --help output and remove its mention from the manual,
internal use only.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4525 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-26 12:19:08 +00:00
Emanuele Giaquinta
841cd8d0cf Cleanup option handling.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4510 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-24 00:25:36 +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
Emanuele Giaquinta
9070ecdcf7 Revert second hunk of the previous patch, we want to check existence and
execute permission for irssi_binary when upgrading.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4379 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-22 16:05:55 +00:00
Emanuele Giaquinta
46bc99acf8 Compute absolute path name of argv[0] at startup to make Irssi::get_irssi_binary
useful again.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4377 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-22 14:04:53 +00:00
Emanuele Giaquinta
8ca4e8544b Apply 05upgrade-check-binary.dpatch with some modifications.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4366 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-18 22:32:33 +00:00
Emanuele Giaquinta
9f0cd484e5 Add missing free.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4365 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-18 21:56:18 +00:00
Emanuele Giaquinta
e3cf9a4be5 Remove useless check.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4354 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-17 12:39:37 +00:00
Valentin Batz
99c2aaca4c /UPGRADE saves now server->version
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3324 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-10-18 14:40:33 +00:00
Timo Sirainen
217283caea isupport patch by David Leadbeater
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3211 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-20 10:57:57 +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
45f86f7b5f Broke irssi_binary path.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3041 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-12-04 11:23:28 +00:00
Timo Sirainen
439818bcf8 Made irssi_binary global and exported to perl as get_irssi_binary().
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3039 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-12-03 22:37:02 +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
d346fbe1a9 Better !channel support - window items now have "visual_name" and channels
and queries also have "name". Normally they're identical but with !channels
the visible_name contains the short !channel name, while name contains
full !ABCDEchannel name.

The visible_name should be used whenever displaying the channel name, or as
printtext()'s target. So, this breaks a few scripts in !channels, they need
to be modified to use $channel->{visible_name} instead.

Also /LAYOUT SAVE should finally work properly with !channels.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2797 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-16 00:34:37 +00:00
Timo Sirainen
bd00ff54c2 Fixed one error and several warnings with GLIB 2.0
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2663 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-10 02:53:06 +00:00
Timo Sirainen
911f69dc3a /UPGRADE saves now topic_time and topic_by.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2523 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-20 18:12:45 +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
6be1390303 /UPGRADE broke reconnections to server.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-06 23:05:54 +00:00
Timo Sirainen
5524f89d71 /UPGRADE shouldn't begin server reconnections in old client.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2176 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-01 20:23:48 +00:00
Timo Sirainen
c3429fa50e /UPGRADE: when trying to restore connection to server of which chat
protocol is unknown, close the specified handle.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2148 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-25 17:03:00 +00:00
Timo Sirainen
ed4d24b282 /UPGRADE: Irssi no longer asks for /NAMES list from server when
rejoining channels, but the nick list is transferred in session file.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2144 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-25 16:13:12 +00:00
Timo Sirainen
94be91c30e --session broke --help output
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2130 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 20:36:12 +00:00
Timo Sirainen
b24629822e /UPGRADE: waited pids are now transferred to new client so we don't leave
zombie processes.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2129 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 20:29:45 +00:00
Timo Sirainen
72d943acdb /UPGRADE: --home and --config parameters weren't passed to new irssi.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2122 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 03:19:02 +00:00
Timo Sirainen
9cf8d32198 Typobugfix.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2120 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 02:48:53 +00:00
Timo Sirainen
e0841d15a2 /UPGRADE now saves the session, disconnects the servers so that the socket
isn't closed but irssi thinks its disconnected, then it quits irssi, and as
the last command executes the new irssi. This way we get clean
deinitialization so irssi can close log files, destroy scripts, etc.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2114 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 01:47:29 +00:00
Timo Sirainen
bb3592f5c7 /UPGRADE: server command queue is now flushed to make sure everything
gets sent to server. Channels are now stored in in config blocks
instead of just in one string, this way we can restore the topic and
key. Away status in server is also restored.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2113 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 01:29:23 +00:00
Timo Sirainen
4978d4cd14 Irssi printed GLib error if no PATH was set..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2081 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 13:55:28 +00:00
Timo Sirainen
78f9c141dc /UPGRADE didn't work properly when you were connected to multiple servers.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2080 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 13:52:10 +00:00
Timo Sirainen
5656ad352d session_set_binary() - we can't get the full path to irssi binary from
argv[0] and we need it, so its searched now.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2079 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 13:33:28 +00:00
Timo Sirainen
bd2af6cb98 Added syntax comment for /UPGRADE
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2072 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 02:00:18 +00:00
Timo Sirainen
a1b151d8d3 A few more updates.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2071 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 01:54:02 +00:00
Timo Sirainen
bbbb36cf19 /UPGRADE - upgrade-on-the-fly feature. Currently only moves the active
server connections to the new irssi process, but that should be enough to
never quit from IRC again :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2070 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 01:48:58 +00:00