Alexander Færøy
25824e2d3f
Lift ASN1_STRING declaration onto the entry of the function.
2016-10-22 22:04:32 +02:00
Alexander Færøy
4e170c5233
Declare variables in the beginning of the function.
2016-10-22 22:04:32 +02:00
Alexander Færøy
53d772e48b
Make sure we clean-up after ourself upon failure.
2016-10-22 22:04:31 +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
c6c2e79537
Display TLS connection information when connected to a TLS enabled server.
2016-10-22 21:58:50 +02:00
Alexander Færøy
1d101afe0d
s/SSL/TLS/ for warning strings.
2016-10-22 21:58:49 +02:00
Alexander Færøy
13f75d49e0
Simplify TLS verification error handling.
2016-10-22 21:58:49 +02:00
Alexander Færøy
b630fd1703
Populate and emit TLS_REC after TLS handshake have completed.
2016-10-22 21:58:49 +02:00
Alexander Færøy
99d017720d
Add TLS_REC.
...
This patch adds the TLS_REC structure. This structure is used to emit
information about the TLS handshake from the core of irssi to the
front-end layers such that we can display connection information to the
user.
2016-10-22 20:37:33 +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
da67d3e8e6
Add function to convert a buffer to a colon-delimited hex string.
...
This patch adds binary_to_hex(), which can take an input buffer and
convert it to colon-delimited hex strings suitable for printing for
fingerprints.
2016-10-22 20:36:50 +02:00
Alexander Færøy
6300dfec71
Always build irssi with TLS support.
...
This patch removes the optional checks for whether to build irssi with
TLS support or not. This will allow us to ship a default configuration
file where we connect to TLS enabled IRC servers out of the box.
2016-10-16 14:55:48 +02:00
ailin-nemui
61590f31df
Merge pull request #465 from LemonBoy/netsplit-print
...
Some small adjustments to the netsplit code.
2016-10-11 16:12:35 +02:00
LemonBoy
3667fd9fd1
Make the cap_complete field unsigned.
...
Fixes a problem where the field would end up as a negative number when
exposed to the perl scripts.
And move it near the other bit-packed fields so we take advantage of the
packing.
2016-09-30 19:30:43 +02:00
ailin-nemui
8d4d313cc9
Merge pull request #506 from kruton/sasl-400-byte-chunk
...
SASL: handle fragmentation
2016-09-26 16:43:33 +02:00
ailin-nemui
f9fd50a357
nullptr when doing module backward compat on invalid config
2016-09-25 23:17:20 +02:00
ailin-nemui
31044ec004
Merge pull request #542 from LemonBoy/xs-add
...
Expose the CAP fields to the perl scripts.
2016-09-22 17:10:33 +02:00
ailin-nemui
295a4b77f0
Patches for heap corruption and missing bounds check
...
By Gabriel Campana and Adrien Guinet from Quarkslab.
2016-09-20 19:56:06 +02:00
ailin-nemui
b3c6cdbb91
Merge pull request #540 from LemonBoy/reset-autorun
...
/script reset can now also run the autorun scripts
2016-09-19 22:14:57 +02:00
LemonBoy
0e0d99587a
Expose 'cap_toggle' to the perl scripts.
2016-09-15 20:38:04 +02:00
ailin-nemui
b58be939d2
Merge pull request #516 from LemonBoy/comp-file
...
Fix the tab completion for paths starting with ./
2016-09-13 23:29:09 +02:00
LemonBoy
21539019dd
Make sure to make a copy of ERRSV content.
...
Otherwise we might end up showing an empty message.
Fixes #522 .
2016-09-13 17:11:05 +02:00
LemonBoy
9591afcb4b
Expose the CAP fields to the perl scripts.
2016-09-13 16:07:48 +02:00
LemonBoy
b2424f3193
Add a '-autorun' switch to /script reset
...
This way we reload all the scripts in the autorun folder.
2016-09-11 16:59:21 +02:00
LemonBoy
e4f8abc973
Merge pull request #533 from dequis/statusmess
...
Set the default STATUSMSG to @ instead of @+ if it's missing
2016-09-04 12:11:02 +02:00
Kenny Root
60d9ec621f
SASL: handle fragmentation
...
The IRCv3 SASL extension says that AUTHENTICATION payloads of exactly
400 bytes in length indicate that the message is fragmented and will
continue in a subsequent message. Handle the reassembly and splitting of
these messages so that we are compliant with the specification.
2016-08-29 22:56:30 -07:00
ailin-nemui
c8630acbaf
Merge pull request #529 from ailin-nemui/issue500
...
fix nick->host == NULL crash
2016-08-25 04:24:07 +02:00
dequis
3429c1a0a0
Set the default STATUSMSG to @ instead of @+ if it's missing
...
This fixes two issues:
- IRCNet doesn't have STATUSMSG, but it supports +channels, and
including + in the default value meant processing those incorrectly
- The "bahamut hack", for old servers that support but don't advertise
STATUSMSG, didn't work since ischannel_func doesn't use the default.
The choice of @ intentionally leaves out support for other STATUSMSG
(for example, AzzurraNet's bahamut 1.4 fork seemed to support + and % in
any order, contradicting the comment in the code).
I think this is a decent tradeoff, given how those servers are uncommon
and relying on +# or %# is even less common than @#.
Fixes #531
2016-08-24 19:56:23 -03:00
LemonBoy
251d8a686a
Fix an OOB access in the cutbuffer implementation.
2016-08-24 22:29:52 +02:00
ailin-nemui
681caf2b58
fix nick->host == NULL crash
2016-08-22 12:27:10 +02:00
ailin-nemui
17f4bd2060
Merge pull request #526 from ailin-nemui/ax-dummy
...
remove broken dummy mode
2016-08-14 23:35:41 +02:00
ailin-nemui
de11e0f4f2
remove broken dummy mode
2016-08-12 19:33:56 +02:00
ailin-nemui
b411f943a0
fix use after free in expando error
2016-08-12 18:24:58 +02:00
ailin-nemui
9ee4803770
remove curses terminal and ncurses macro
2016-08-04 10:02:28 +02:00
ailin-nemui
8b47196745
Merge pull request #517 from LemonBoy/unignore
...
Minor cosmetic fix in /unignore error message.
2016-07-13 15:26:37 +02:00
LemonBoy
bd4189907e
Minor cosmetic fix in /unignore error message.
...
Reported here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577202
2016-07-12 17:38:05 +02:00
LemonBoy
dab3246db9
Fix the tab completion for paths starting with ./
2016-07-12 16:35:43 +02:00
Tom Feist
9559a8ead9
Allow Irssi::signal_remove to work properly with coderefs
2016-07-12 12:42:15 +02:00
LemonBoy
c0f66c95ff
Such draft. Very wow.
2016-06-26 21:45:03 +02:00
LemonBoy
8f5e200551
Avoid entering an endless loop while traversing the channel list
2016-06-26 21:45:03 +02:00
LemonBoy
ed06e43ec8
Some small adjustments to the netsplit code.
...
By making the signal handler hooked to the "print starting" event
smarter we can avoid dumping the whole netsplit stats for every
server/channel when a message arrives.
Issue #420
2016-06-26 21:45:03 +02:00
ailin-nemui
c2c32e3955
check for NULL in statusbar_more_updated
...
fixes crash due to invalid access of active_win members when the more
indicator is triggered without an active window
2016-06-25 21:33:50 +02:00
ailin-nemui
f264a78947
Merge pull request #496 from ailin-nemui/comp
...
completion fixes
2016-06-24 10:05:15 +02:00
LemonBoy
798ce006c2
Merge pull request #498 from vague666/add_modify_functions
...
Add modify to /channel, /server and /network
2016-06-21 22:46:52 +02:00
Jari Matilainen
a4223a3b2e
use TRUE/FALSE in if statements for gboolean
2016-06-21 22:05:21 +02:00
Jari Matilainen
2bb913f0c1
Fix minor nits
2016-06-19 16:35:13 +02:00
Jari Matilainen
4292dbd202
Add command_set_options for modify commands to allow completion
2016-06-18 18:47:11 +02:00
Jari Matilainen
79e30405e6
Let ADD still work as modify
2016-06-18 18:02:04 +02:00
Jari Matilainen
1d2113a638
Add /server modify SYNTAX
2016-06-18 17:53:35 +02:00
Jari Matilainen
421288cf50
Add /network modify
2016-06-18 17:52:47 +02:00
Jari Matilainen
1dd1dde1d4
Add /server modify
2016-06-18 17:52:26 +02:00
Jari Matilainen
92a2384ab0
Add /channel modify
2016-06-18 17:51:58 +02:00
ailin-nemui
77ad62fadb
completion fixes
2016-06-16 21:30:46 +02:00
ailin-nemui
fd371cc345
Merge pull request #422 from LemonBoy/misc-cleanup
...
Clean up misc.c
2016-06-14 12:35:30 +02:00
LemonBoy
2da49e3ca6
Don't crash when the key isn't found.
2016-06-13 22:14:08 +02:00
LemonBoy
862729d7a3
Add a completion_match_case setting.
2016-06-13 22:13:43 +02:00
LemonBoy
78c1c1518a
Be smart about case-matching the nicks.
...
If the prefix contains an uppercase letter then don't use the
case-insensitive search functions.
2016-06-13 21:55:20 +02:00
ailin-nemui
52ced0728b
Merge pull request #492 from LemonBoy/enum
...
Enum setting implementation
2016-06-13 21:47:39 +02:00
LemonBoy
5c8423a08c
Add a space after the comma when listing the options.
2016-06-13 20:27:37 +02:00
LemonBoy
439e21f127
Use ; as separator instead of ,
2016-06-13 14:07:04 +02:00
LemonBoy
9a30ab53df
Move the validation of the CHOICE setting value
...
Also, use a FORMAT to show the error message.
2016-06-13 14:03:00 +02:00
dequis
9ea155f8df
servers-reconnect: pass unix_socket attribute to new connection
...
Trying to /reconnect unix sockets turned them into inet.
2016-06-12 20:28:06 -03:00
LemonBoy
6f795f020d
Strip the surrounding whitespace.
2016-06-12 23:39:22 +02:00
LemonBoy
7307b48bd6
Sort the completion results
...
Make sure the current option is shown first.
2016-06-12 22:58:35 +02:00
LemonBoy
31f12c10df
Use strarray_find instead of g_strv_contains
2016-06-12 16:38:34 +02:00
LemonBoy
86c5e56ef4
Make rejoin_channels_mode of type CHOICE
2016-06-12 16:26:18 +02:00
LemonBoy
bf9d9494db
Add a CHOICE type to the settings system.
...
This is useful to let the user choose an option between a finite set of
valid alternatives.
2016-06-12 16:18:33 +02:00
ailin-nemui
0fad2cd842
Merge pull request #352 from ailin-nemui/silent_perl
...
silent make perl
2016-06-09 22:02:22 +02:00
ailin-nemui
d6d74c0da9
Do not crash on OPTCHAN when item has no server
...
May fix bugs.debian.org#826525
2016-06-06 16:58:40 +02:00
LemonBoy
9fd286fed8
Bump the ABI
2016-06-05 22:47:29 +02:00
LemonBoy
98fce5f807
Deprecate net_connect()
2016-06-05 22:47:04 +02:00
LemonBoy
0060f682c2
Factor out some redundant code and remove hashtable_get_keys
2016-06-05 17:24:27 +02:00
LemonBoy
2e8744319d
str_to_uofft is a tiny wrapper over strtoul{,l}
2016-06-05 16:54:20 +02:00
LemonBoy
cc70e8c581
Clean up some GTimeVal juggling
2016-06-05 16:48:27 +02:00
LemonBoy
e0b290c34f
Update the g_istr_hash function to use the djb hash
2016-06-05 16:24:55 +02:00
LemonBoy
0f9d2b3570
Remove unused regexp_match
2016-06-05 16:24:55 +02:00
LemonBoy
7a3c6fe86c
Replace strarray_length with g_strv_length
2016-06-05 16:24:55 +02:00
LemonBoy
72712a0c62
Replace strocpy with g_strlcpy
...
The only difference was that the former returned 1 if the buffer was
overflown, but the return value was never checked.
2016-06-05 16:24:55 +02:00
LemonBoy
8289f36075
Check the return value of open() in rawlog.c
2016-06-05 16:24:55 +02:00
LemonBoy
bb190be0bf
Replace mkpath with g_mkdir_with_parents
2016-06-05 16:24:55 +02:00
ailin-nemui
e0c8a9f398
perl 5.10 fix
2016-06-05 11:36:13 +02:00
ailin-nemui
03aec7d3b3
silent make perl
2016-06-03 13:55:13 +02:00
LemonBoy
f1d0c8ff99
Correct the name of the emitted signal.
...
There's a typo in 'sasl_fail', the signal that's emitted should be
'server sasl failure' and not 'server sasl fail'.
2016-06-01 22:29:13 +02:00
ailin-nemui
02221eae37
fix dist compilation failure
...
remove illegal wcwidth.c include and compile wcwidth.c
correct #include in wcwidth.c
fallout from #480
2016-05-18 16:50:41 +02:00
ailin-nemui
5995c0619d
abi increase for #480
2016-05-18 14:39:52 +02:00
ailin-nemui
74d38683bf
Merge pull request #480 from xavierog/handle-utf8-nicks-with-mk_wcwidth
...
Handle utf8 nicks with mk_wcwidth()
2016-05-18 09:18:21 +02:00
Xavier G
5d69b4c4a7
Convert string policies from #define to enum.
2016-05-13 17:35:47 +02:00
Xavier G
a26a387545
Adjust some conditions.
2016-05-13 17:31:11 +02:00
Xavier G
72064de9fe
Simplify scrlen_str() using string_width().
2016-05-13 04:19:38 +02:00
Xavier G
29beafcf6f
Improve UTF-8 handling in display_sorted_nicks().
2016-05-13 04:08:15 +02:00
Xavier G
f1b5b515b9
Make get_alignment() available outside special-vars.c
2016-05-13 03:51:48 +02:00
Xavier G
97a4ee78fd
get_alignment: handle UTF-8 strings.
...
get_alignment now works with columns (width), not bytes, although it is liable
to work with bytes if the given text is not a valid UTF-8 string.
2016-05-13 03:42:56 +02:00
Xavier G
09ca3ad48f
Fix indentation of display_sorted_nicks().
...
This was done assuming an "indent with tab, align with spaces" approach.
get_alignment also benefited from a minor indentation fix.
2016-05-13 03:31:23 +02:00
Xavier G
719efc44a3
Introduce string_chars_for_width().
2016-05-13 03:04:08 +02:00
Xavier G
35b3ccc6a4
Introduce string_length() and string_width().
2016-05-13 02:47:26 +02:00
Xavier G
21c07c0060
Leverage string_policy().
2016-05-13 02:27:19 +02:00
Xavier G
2c8648a9c8
Introduce string_policy().
2016-05-13 02:10:02 +02:00
Xavier G
b0afcc96db
Rename advance() into string_advance().
2016-05-13 01:52:37 +02:00
Xavier G
5c74a3bb88
Move advance() from fe-common/core to core.
2016-05-13 01:39:14 +02:00
Xavier G
5538578820
Move utf8.{h,c} from fe-common/core to core.
2016-05-13 01:26:33 +02:00
pisculichi
47e792da05
Fix some ANSI C issues.
2016-05-03 15:28:20 +00:00
isundil
b63339af89
Increased ABI version
2016-04-30 18:26:26 +00:00
isundil
e7a18759ec
Added case-sensitive regexp matching for hilights
2016-04-29 22:17:51 +00:00
B Thibault
ddd5416430
changed command-line -case to -matchcase
2016-04-29 11:00:34 +02:00
B Thibault
d8a6e66699
Ref #421 (Add an option to make /hilight case sensitive)
...
Allow use of /hilight -case exAMPle (compatible with other options)
Added matchcase to hilight config file (exemple: { text = exAMPle; matchcase = yes; } )
2016-04-29 01:01:34 +02:00
B Thibault
9fa3869a97
retab
2016-04-29 00:12:28 +02:00
dequis
2ba4b9d26a
net_gethosterror: Handle EAI_SYSTEM ("System error") properly
...
That error code means "check errno". A few users got it and we never
figured out what happened - it usually fixed itself after restarting
something - so hopefully with this we'll have more information the next
time.
2016-04-07 07:26:19 -03:00
ailin-nemui
1349755bb5
Merge pull request #453 from LemonBoy/dcc-quote
...
Support quoted filenames in some /DCC commands
2016-04-05 22:39:54 +02:00
ailin-nemui
26f875263a
Merge pull request #455 from ailin-nemui/cutbuffer
...
improved cutbuffer handling
2016-03-31 19:13:53 +02:00
ailin-nemui
ec4ecd844b
Revert "Removed the obsolete SQUERY and SERVLIST commands"
...
This reverts commit 4beebe3238
.
2016-03-29 22:41:01 +02:00
ailin-nemui
aec2466e36
Improve cutbuffer handling
...
* Adds two new keys which you can bind in /bind:
yank_next_cutbuffer: Revert to the previous last deleted text
append_next_kill: Append next deletion
* Consecutive kills are now appended to the current cutbuffer
2016-03-29 15:20:45 +02:00
ailin-nemui
b9914abbf3
Make use of terminal application keys configurable
...
adds a new setting term_appkey_mode which can enable or disable the use
of keyboard transmit (application keys) mode. Fixes #430
2016-03-22 23:58:34 +01:00
ailin-nemui
b1ffd5f647
Merge pull request #452 from LemonBoy/terminfo-cup
...
Don't call terminfo_cont() twice on resume
2016-03-22 23:05:27 +01:00
ailin-nemui
9cb0419435
Merge pull request #443 from LemonBoy/chatnet
...
Throw an error when a chatnet has no available url
2016-03-22 23:00:01 +01:00
ailin-nemui
29e160f0bf
Merge pull request #457 from ailin-nemui/fix_450
...
fix race condition in terminal init
2016-03-22 22:57:28 +01:00
ailin-nemui
3bc8afa740
Merge pull request #458 from ailin-nemui/fix_449
...
Properly toggle bracketed paste mode on stop/cont
2016-03-22 22:54:43 +01:00
LemonBoy
897016131e
Don't call terminfo_cont() twice on resume
...
Fixes some weirdness when using ^Z with zsh.
2016-03-22 22:50:24 +01:00
ailin-nemui
d36d34fe04
Merge pull request #456 from ailin-nemui/fix_454
...
cutbuffer: do not unconditionally use replace when noop was requested
2016-03-22 22:47:42 +01:00
ailin-nemui
35d255fc8c
Properly toggle bracketed paste mode on stop/cont
...
Fixes #449
2016-03-22 16:36:30 +01:00
LemonBoy
8b54366d95
Support quoted filenames in some /DCC commands
2016-03-22 16:00:00 +01:00
LemonBoy
e5ee243ab6
Simplify some logic in server_create_conn
2016-03-22 15:45:08 +01:00
ailin-nemui
195c44a76e
Merge pull request #446 from ailin-nemui/fix_445
...
strip less whitespace from commands
2016-03-22 15:23:37 +01:00
ailin-nemui
938d0071c6
fix race condition in terminal init
...
remove the tcgetattr call to a single time on irssi load instead of
querying it each time. Fixes #450
2016-03-22 15:21:20 +01:00
ailin-nemui
117c890d98
cutbuffer: do not unconditionally use replace when noop was requested
2016-03-22 14:43:31 +01:00
ailin-nemui
f7658640fb
Merge pull request #437 from vague666/glob_matching
...
Use glob matching for activity_hide_targets
2016-03-21 11:21:01 +01:00
ailin-nemui
132d3c49f3
strip less whitespace from commands
...
fixes #445
2016-03-20 22:39:06 +01:00
ailin-nemui
2ab2636713
Merge pull request #442 from LemonBoy/fix-435
...
Do not assume any default value for statusmsg.
2016-03-20 22:06:41 +01:00
LemonBoy
550fe6f010
Use 0 as a sentinel value for sasl_timeout
...
If sasl_timeout is never initialized with a valid timeout id then
calling /disconnect on the server calls g_source_remove() with 0 as tag,
causing an harmless error message to be printed.
Beside that, the sasl_timeout field is defined as a unsigned int.
We can use 0 as sentiel since g_timeout_add returns tags that are always
greater than zero.
2016-03-20 21:47:02 +01:00
LemonBoy
8394973d5a
Bump the ABI version
...
Since a new format has been added.
2016-03-20 12:16:48 +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
f31d37a852
Make ischannel_func return false for empty strings
2016-03-19 12:11:53 +01:00
Jari Matilainen
857e27aef6
Don't use glob matching, just regular string comparisons
2016-03-17 23:58:46 +01:00
LemonBoy
f6c2805b91
Do not assume any default value for statusmsg.
...
If the server didn't send it then just skip the check, the old value it
defaulted to was possibly overlapping with the CHANTYPES leading to an
incorrect behaviour. Fixes #435 .
2016-03-17 22:27:05 +01:00
TheLemonMan
795b7de808
Merge pull request #439 from horgh/ssl-errors
...
Clear error queue before SSL I/O operations
2016-03-17 22:07:57 +01:00
ailin-nemui
49bdd179b2
Merge pull request #438 from dequis/sasl-timeout-disconnect
...
Remove sasl timeout source when the server disconnects
2016-03-17 16:14:34 +01:00
KindOne
bcebed5a72
Replace spaces with tabs
2016-03-14 21:23:37 -04:00
Jari Matilainen
94b823c3cd
Use glob matching for activity_hide_targets
...
spaces vs tabs!
strarray_find* needs to return -1 if no index found
2016-03-14 22:29:36 +01:00
Jari Matilainen
27c37cb3f3
Return -1 from null-test to comply with the rest of strarray_find
2016-03-14 22:17:17 +01:00
Will Storey
8ab6bdf2ce
Add clear error calls to irssi_ssl_get_iochannel
2016-03-13 15:09:52 -07:00
Will Storey
be733d2482
Clear error queue before SSL I/O operations
...
Otherwise we can see errors that are not related to the operation
we check for. SSL_get_error() inspects the thread's error queue.
See https://www.openssl.org/docs/manmaster/ssl/SSL_get_error.html for
more information.
2016-03-13 13:28:04 -07:00
dequis
e853392f43
Remove sasl timeout source when the server disconnects
2016-03-11 14:55:31 -03:00
Giuseppe
66e9c4bb39
Merge pull request #432 from grawity/fix-external
...
fix SASL EXTERNAL
2016-03-08 22:49:05 +01:00
ailin-nemui
8f1f1d879f
Merge pull request #426 from Manishearth/paste-split
...
Make pasting warning appear when long pastes are going to be split into many lines
2016-03-08 22:17:06 +01:00
Mantas Mikulėnas
4baefd2574
Fix SASL EXTERNAL authentication
...
The "AUTHENTICATE" command is always required – it's part of the IRCv3
SASL framing. RFC 4422 only documents the Base64 payload.
2016-03-08 23:13:03 +02:00
Lukas Mai
8c1da2890c
irssi proxy: allow listening on unix sockets
2016-03-02 00:53:56 +01:00
Lukas Mai
3fc7e4d4ea
reindent
2016-03-02 00:51:01 +01:00
Lukas Mai
4d234c175c
fix proxy server name
2016-02-26 18:40:51 +01:00
Manish Goregaokar
ef0c7d3e7a
Make pasting warning appear when long pastes are going to be split into many lines
2016-02-24 00:51:11 +05:30
Manish Goregaokar
9f0e5da208
use a #define'd LINE_SPLIT_LIMIT instead of hardcoding 400
2016-02-24 00:42:35 +05:30
Lukas Mai
3167ccfbc2
remove redundant check
2016-02-18 02:23:09 +01:00
Lukas Mai
c9ce0c521a
make pointer check explicit
2016-02-18 02:23:00 +01:00
Lukas Mai
4732e33ca9
irssi proxy: allow multiplexing multiple networks over a single port
2016-02-18 01:20:33 +01:00
Lukas Mai
88e2449f83
fix formatting
2016-02-18 01:20:33 +01:00
Todd A. Pratt
8723c0fb33
fix whitespace
2016-02-10 09:47:10 -05:00
Todd A. Pratt
0ca534c345
Merge branch 'master' of github.com:irssi/irssi
2016-02-10 09:42:42 -05:00
ailin-nemui
0860469900
Merge pull request #413 from dequis/completion-list-crash-fix
...
completion: Fix crash when the complist provided by a script has nulls
2016-02-05 21:39:20 +01:00
Todd A. Pratt
431863852c
Merge branch 'master' of github.com:irssi/irssi
2016-02-04 21:48:41 -05:00
ailin-nemui
af229a8bb7
Merge pull request #410 from LemonBoy/getaddrinfo-v6-flag
...
Getaddrinfo v6 flag
2016-02-03 11:45:11 +01:00
Todd A. Pratt
966d002b55
remove memory allocation check, spaces to tabs
2016-01-30 11:32:08 -05:00
Todd A. Pratt
876609901a
add an append operation to cut buffer handling
2016-01-30 09:34:46 -05:00
dequis
7674fd5936
completion: Fix crash when the complist provided by a script has nulls
...
Can be reproduced with aspell_complete.pl 1.00 by setting an invalid
dictionary with "/set spell_dict a"
2016-01-29 10:40:18 -03:00
LemonBoy
0cc8276e89
Add AI_ADDRCONFIG to the getaddrinfo hints.
...
A first step to untangle the ipv4 vs ipv6 mess.
At the time of writing Linux, OpenBSD and FreeBSD all support the
AI_ADDRCONFIG flag.
2016-01-27 16:16:27 +01:00
LemonBoy
118eb0a68c
Call getnameinfo with NI_NAMEREQD flag.
...
This way net_gethostbyaddr will fail when the system is unable to
resolve the address to a valid host name.
Without this flag in case of failure the function would return the ip
address instead of failing.
2016-01-27 15:54:29 +01:00
LemonBoy
f31b2026b4
Minor style fix in net_ip2host.
2016-01-27 15:04:07 +01:00
LemonBoy
87c0827471
Delete the HAVE_IPV6 ifdef.
...
Welcome to the future.
2016-01-27 14:31:55 +01:00
ailin-nemui
dc03baa0d3
Merge pull request #353 from toddpratt/master
...
Allow for prepending to the cutbuffer in addition to replacing it.
2016-01-26 09:02:38 +01:00
ailin-nemui
c7a3d2822c
Merge pull request #399 from LemonBoy/bots
...
Change when the autocmds are sent.
2016-01-26 09:00:29 +01:00
LemonBoy
d964950e5d
Serialize the 'name' attribute of the CHANNEL_REC.
...
This way the code doing the serialization in 'sig_layout_save_item' is
now symmetric with the loading code loading the data in
'sig_layout_restore'.
2016-01-25 20:48:13 +01:00
LemonBoy
eba160ca6d
Duplicate the code paths for autocommands.
2016-01-24 23:02:40 +01:00
LemonBoy
2502080871
Change when the autocmds are sent.
...
As per #175 if a -botcmd is specified for a given channel without a
-bots parameter then the command is sent right after joining the
channel.
2016-01-14 23:54:42 +01:00
ailin-nemui
62cab9d662
Merge pull request #393 from ailin-nemui/moduleversion-perl
...
forward ABI to perl modules
2016-01-11 21:19:35 +01:00
ailin-nemui
bd2c549064
Merge pull request #394 from ailin-nemui/reset-history
...
option to clear the history
2016-01-11 21:04:48 +01:00
ailin-nemui
8f37095969
Merge pull request #389 from ailin-nemui/hilight2-up
...
keep track of address in text_dest for hilight purposes
2016-01-11 21:04:43 +01:00
ailin-nemui
d16f57b378
Merge pull request #390 from LemonBoy/ignore-find
...
Clean up the ignore_find API to make it more powerful.
2016-01-11 21:04:27 +01:00
Lukas Mai
41088b6f65
make /knockout use /unban to remove bans
...
/knockout uses /ban to set bans but calls ban_remove() directly to
remove them. This commit makes it use /unban instead. This allows
scripts that hook ban/unban to work automatically with /knockout.
2016-01-08 19:37:29 +01:00
Lukas Mai
cf90b2122e
irc/core/irc-commands.c: fix indentation
2016-01-08 18:52:59 +01:00
ailin-nemui
ad842ea8a6
reorder history add and fixes
2016-01-08 15:42:59 +01:00
ailin-nemui
4659cea65a
option to clear the history
2016-01-08 15:19:13 +01:00
ailin-nemui
cfb6123a7a
forward ABI to perl modules
2016-01-07 09:26:02 +01:00
Lukas Mai
837e03bd8f
irssiproxy: avoid using pointer after freeing it
2016-01-06 12:45:18 +01:00
LemonBoy
dbee606c60
Don't break the API.
...
Have a ignore_find_full method that is the one that all the new code
should be using and provide some working stubs for ignore_find and
ignore_find_noact.
2016-01-03 21:26:57 +01:00
LemonBoy
609f3ba6c2
Clean up the ignore_find API to make it more powerful.
...
This way we prevent the creation of duplicate ignores since the old code
skipped the ignore_find call when a pattern was specified.
It should also cover all the cases where the ignores would be wrongly
overwritten, such as the case outlined in #78 .
2016-01-03 19:49:18 +01:00
ailin-nemui
7cc85b9427
keep track of address in text_dest for hilight purposes
2015-12-28 01:08:35 +01:00
ailin-nemui
5fbad764df
clean up after #303
2015-12-15 00:08:44 +01:00
ailin-nemui
074af68578
Merge pull request #303 from vague666/fs275
...
Applied patch from fs#275 to make /hilight -mask -line work properly
2015-12-15 00:07:18 +01:00
ailin-nemui
38720e0ecb
Merge pull request #306 from dequis/bracketed-paste
...
Implement paste detection via the bracketed paste mode 2: bracket pasterer
2015-12-15 00:06:48 +01:00
dequis
ce77842a98
Bracketed paste: fix nitpick from ahf's review
...
Thanks ahf
2015-12-13 13:56:09 -03:00
ailin-nemui
6e01a23134
ensure staticlib perl works on 5.22 (for now)
2015-12-13 01:09:13 +01:00
dequis
e6fa311590
Bracketed paste: Adjust paste line count if there's text after newlines
...
With bracketed paste, "a\nb" will result in two lines being pasted,
because it's a single thing, with an end marker which the timeout based
pastes don't have.
Due to the way term_gets() counts lines, that input will have
paste_line_count == 1. This can be misleading.
This code adjusts it by looking at the last character, and increasing
the count if it finds anything that isn't a newline.
2015-12-12 01:49:32 -03:00
dequis
38d372eccb
Disable timeout-based paste detection if paste_use_bracketed_mode is on
2015-12-12 01:19:36 -03:00
ailin-nemui
9dd2b7c616
deinit perl on staticperl builds
2015-12-10 14:02:59 +01:00
Todd A. Pratt
5d99a3d59a
Merge branch 'master' of github.com:irssi/irssi
2015-12-09 20:48:21 -05:00
ailin-nemui
ff8ccaf08b
module check irssi version
...
Add explicit checks into every module to match the ABI version defined
in common.h
2015-12-10 00:52:33 +01:00
ailin-nemui
4dc2bab4b4
Merge pull request #371 from LemonBoy/rampage
...
Rewrite some faulty logic handling the saved channels. Fixes #340
2015-12-09 23:07:48 +01:00
dequis
96766b7f05
Remove all WIN32 ifdefs (unifdef -UWIN32)
...
Just use cygwin.
This looks like it wasn't enough to do anything useful, and I don't
think anyone cares about supporting win32 the hard way.
2015-12-09 15:20:59 -03: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
LemonBoy
60c501625b
Better function naming
2015-12-09 15:43:31 +01:00
ailin-nemui
20fe5d0c7f
add missing file to Makefile
2015-12-09 14:23:15 +01:00
Ailin Nemui
3532fc4671
Add bindings for exec-type window items to Perl
...
These bindings were missing and resulted in non-hash non-undef active
entries when an interactive process is executing.
2015-12-09 12:05:48 +01:00
ailin-nemui
229c600e99
Merge pull request #174 from ailin-nemui/entry-prompt-colours
...
reimplement format and length logic for the entry prompt
2015-12-09 12:01:00 +01:00
ailin-nemui
57576bb75f
Merge pull request #65 from ailin-nemui/perl-irc-poly
...
forward alternate_nick to Irc::Server attributes
2015-12-09 12:00:30 +01:00
LemonBoy
750df38e8c
Rewrite some faulty logic handling the saved channels.
...
Issue #340 brought to our attention the fact that under certain
circumstances irssi would go on a wild rampage and carelessly overwrite
some saved channel records in the configuration file.
This happened because the code didn't take into account the case where
the channel index in setupchannels wouldn't match the one in the
configuration; this actually happens when the user removes a chatnet
without removing the associated channels.
2015-12-09 00:34:39 +01:00
dequis
82ce1de5b0
irc-cap: Don't send a space at the beginning of the CAP REQ parameter
...
Turns out it confuses inspircd, making it reply a NAK with empty
parameter. The rest is ACKed anyway. I've already whined at saberuk
and there's a pending pull request over there fixing this issue.
And, of course, this is cleaner.
2015-11-26 19:50:58 -03:00
dx
99193e9971
Merge pull request #357 from LemonBoy/fix-99+1
...
Correctly alias 'channel' to '#channel'
2015-11-26 19:25:16 -03:00
ailin-nemui
11ad4da0e3
more perl inheritance warning fixes
2015-11-25 12:16:42 +01:00
dx
80141622ed
Merge pull request #365 from ailin-nemui/perl_nick
...
fix nick class hierarchy
2015-11-23 21:02:48 -03:00
ailin-nemui
a941329b41
fix nick class hierarchy
2015-11-24 00:40:19 +01:00
ailin-nemui
877ff075bd
stop cap_sasl
2015-11-24 00:30:12 +01:00
dx
0ca0c882a5
Merge pull request #360 from LemonBoy/backport-patch
...
Save a patch from the Flyspray oblivion, plus a nice unrelated commit to make everyone (un)happy
2015-11-23 13:08:13 -03:00
ailin-nemui
f9654a7e0c
Merge pull request #359 from LemonBoy/dcc-assert
...
Let ignore_check do its work when server is NULL
2015-11-23 10:05:05 +01:00
LemonBoy
0171b1a634
Use the expanded filename when picking the awaylog
...
This fixes a long-standing bug where 'fname' was being feed to cat
instead of 'real_fname', causing it to quit with a 'No such file or directory'
error.
FS#377
2015-11-22 21:59:28 +01:00
LemonBoy
50fae4212e
Use 'isblank()' instead of a custom macro
2015-11-22 21:33:44 +01:00
Fabian Kurz
011eda7d9e
Correct a wrong use of the 'paste_buffer' variable
...
The function "static void paste_buffer_join_lines(GArray *buf)" in
"src/fe-text/gui-readline.c" is supposed to join lines from the GArray
pointed to by *buf under certain circumstances.
In the code of the function "buf" is actually used for getting the length
of the GArray, but to get a pointer to the data, "paste_buffer->data" is
used; paste_buffer is defined in the scope of the whole file.
This delivers the desired result, because this function is only called
once, with "paste_buffer" as the argument. If paste_buffer_join_lines()
will ever be used with a different argument, it will fail.
2015-11-22 21:24:05 +01:00
LemonBoy
8701cbc972
Let ignore_check do its work when server is NULL
...
A NULL-check has been added to the ignore_match_server macro, making the
function safe from a pointer perspective.
Fixes #193 in the meanwhile.
2015-11-22 17:20:00 +01:00
LemonBoy
d7ef9c590f
Correctly alias 'channel' to '#channel'
...
Use the same approach used in 'irc_channels_join'.
Remove 'irc_nick_strip' since it was unused.
2015-11-19 15:31:32 +01:00
ailin-nemui
fbb838b3b0
Merge pull request #350 from LemonBoy/fix-99
...
Strip trailing whitespace from commands
2015-11-18 22:01:29 +01:00
Todd A. Pratt
15dfb27f80
use the enum name which was the original intended change
2015-11-14 09:07:35 -05:00
Todd A. Pratt
bb8c0bbf4c
fix indentation, undelete line not meant to be deleted.
2015-11-13 20:33:57 -05:00
Todd A. Pratt
f90e10c5d2
remove more cruft from previous implementation
2015-11-13 14:01:25 -05:00
Todd A. Pratt
7768f3e520
remove cruft from previous implementation
2015-11-13 13:51:56 -05:00
Todd A. Pratt
1199ecc62f
a facility for prepending or replacing the cutbuffer
2015-11-13 13:42:28 -05:00
Todd A. Pratt
0b2b3a0b85
Merge branch 'master' of github.com:toddpratt/irssi
2015-11-13 10:59:21 -05:00
ailin-nemui
ac04fa7413
Merge pull request #351 from vague666/hilight_default_behaviour
...
Fix /hilight list output behaviour depending on enabled flags
2015-11-10 11:07:16 +01:00
Jari Matilainen
b333d10364
/hilight list print output with enabled flags, except when -word and -nick are used
2015-11-09 23:06:56 +01:00
LemonBoy
d4676c9855
Use the PARAM_FLAG_STRIP_TRAILING_WS flag wherever possible.
2015-11-09 23:02:41 +01:00
LemonBoy
3d9b9d473f
Strip the trailing whitespace from /join commands.
...
Fixes #99 for great good.
2015-11-09 18:42:49 +01:00
LemonBoy
1006fee802
Add an option to strip trailing whitespace when parsing commands
2015-11-09 17:32:51 +01:00
ailin-nemui
6d6e672e8e
Merge pull request #313 from isundil/master
...
Fix #45 Make it easy to delete default channels, servers and networks
2015-11-09 16:45:19 +01:00
ailin-nemui
0188c1fb5d
Merge pull request #341 from dequis/strsplit-len-fix
...
Fix invalid reads in strsplit_len when splitting on spaces
2015-11-09 16:21:33 +01:00
dequis
b054ade4b9
strsplit_len: make it look more like the original version
2015-11-09 06:46:40 -03:00
dequis
8736c12fc9
strsplit_len: use strlen() directly instead of a remaining_len variable
2015-11-09 06:33:08 -03:00
dequis
8c98e07eab
Merge remote-tracking branch 'origin/master' into bracketed-paste
2015-11-08 14:28:18 -03:00
Todd A. Pratt
4f8974f66e
Merge branch 'master' of github.com:toddpratt/irssi
2015-11-02 08:08:38 -05:00
Todd A. Pratt
3c95f6aae9
Make C-w and M-backspace work right.
2015-11-02 08:00:52 -05:00
ailin-nemui
50775e92e6
Merge pull request #330 from dequis/xterm-keypad-enter
...
Add xterm's keypad enter, meta-O-M to "key return" bindings
2015-11-02 00:15:58 +01:00
dx
8d1f667100
Merge pull request #320 from irssi/ahf/add-setting-type-any
...
Fix warnings
2015-11-01 13:40:54 -03:00
LemonBoy
8094e87cdf
Preserve the sasl_ options across reconnects.
2015-10-28 21:56:35 +01:00
dequis
ed28483e75
Fix invalid reads in strsplit_len when splitting on spaces
...
The symptom for this one is randomly getting lines split before the last
word, even if there's no need for splitting. Also, this function is only
reached if recode is on, and iconv failed (for example, due to an
incorrect source charset). Thanks to vague for finding this and
providing valgrind logs.
The loop that looks for spaces tried to read backwards from the end of
the current line, with the end being determined by len. Assuming
strsplit_len() with len=400, this meant accessing str[399] in the first
iteration. For strings that don't need splitting, this means an invalid
read always.
If that invalid read happens to hit garbage that has a space character,
(len - offset) points after the end of string, which isn't a problem for
g_strndup() since it stops at the first null, and no splitting happens.
If the garbage doesn't have any spaces, it splits by the last word.
This commit avoids that loop entirely if (remaining_len > len). It also
changes the way it iterates over the string to be much less confusing.
2015-10-23 05:12:04 -03:00
dequis
f540ec9de1
Fix /reconnect RECON-1 saying "Reconnection tag 1 not found"
...
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-10-08 00:06:17 -03:00
dequis
58a166484a
Add xterm's keypad enter, meta-O-M to "key return" bindings
...
From the 'kent' terminfo entry. Also applies to putty.
Fixes #327
2015-10-06 06:15:47 -03:00
ailin-nemui
79fa2fcb59
Merge pull request #318 from LemonBoy/fix-utf8-elements
...
Fix the display of utf8 sequences in the gui
2015-10-04 20:22:36 +02:00
LemonBoy
0140e7c6b2
Fix the indentation.
2015-10-04 20:23:51 +02:00
dx
15a40ea6d3
Merge pull request #314 from LemonBoy/sasl_session
...
Save the sasl state in the session
2015-10-03 22:15:17 -03:00
Alexander Færøy
5f35fbc57a
Remove check for >= 0 for unsigned unichar.
2015-10-03 19:01:16 +02:00
Alexander Færøy
685d8fe5b0
Add SETTING_TYPE_ANY and replace -1 with it.
2015-10-03 19:01:16 +02:00
LemonBoy
b68a30cdfe
Include write-buffer.h in log-away.c
...
Silence a warning and make the world a better place.
2015-10-03 14:32:38 +02:00
Alexander Færøy
da3f2f0d01
Set HOST_NAME_MAX to 255, if it's undefined.
...
Thanks to Jilles and dx.
Fixes #309
2015-10-02 19:55:29 +02:00
dequis
ef55e0f653
Add missing null terminator to the g_build_path() varargs
...
Lemon broke it a few commits ago.
2015-10-02 13:48:23 -03:00
Geert Hauwaerts
9c5f6780b2
Merge pull request #316 from LemonBoy/fix_mem_leak
...
Fix a memory leak.
2015-10-02 09:39:10 -07:00