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
Geert Hauwaerts
bd696a096e
Merge pull request #319 from LemonBoy/awaylog-flush
...
Flush the dirty buffer to disk
2015-10-02 09:33:03 -07:00
LemonBoy
db5ae4adce
Flush the dirty buffer to disk
...
Given a big enough write_buffer_size and a long enough
write_buffer_timeout it might be possible to show the user an incomplete
or empty awaylog.
Patch by: Petteri Aimonen
2015-10-02 17:21:17 +02:00
LemonBoy
48ab298a67
Kill an unneeded declaration
2015-10-02 15:08:48 +02:00
LemonBoy
c7646dc58d
Even simpler logic
2015-10-02 15:07:59 +02:00
LemonBoy
c351c448b8
Rework the logic to avoid allocating memory
2015-10-02 15:02:43 +02:00
LemonBoy
2e860abd2b
Fix the display of utf8 sequences in the gui
...
term_addstr() had a long-standing fixme that suggested it didn't
take into account the string encoding when calculating the string
length.
The BIG5 code path is untested.
2015-10-02 14:44:35 +02:00
LemonBoy
b545bc96a9
Fix a memory leak.
...
g_get_current_dir() returns a heap-allocated string.
2015-10-02 12:39:08 +02:00
dx
c3e4664870
Merge pull request #294 from dequis/key-states-rescan-recursion-limit
...
Limit recursion depth of key/combo expansion in key_states_scan()
2015-10-02 07:22:48 -03:00
LemonBoy
cfff402fe6
Don't set the usermode field if blank
...
Fixes FS#919
2015-10-02 11:25:30 +02:00
LemonBoy
a475d57183
Save the sasl state in the session
...
This is seemingly required to have irssi re-authenticate after a
restart.
2015-10-02 10:52:13 +02: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
Jari Matilainen
b04b5f0f1d
Make sure sasl settings are defined before printing them out
2015-09-29 11:44:11 +02:00
Jari Matilainen
cff536ab70
Add sasl info to /network list output if available
2015-09-29 10:39:49 +02:00
dequis
7866d2bcd6
Handle empty bracketed pastes (or sequences of those)
...
Both cases were off-by-one mistakes erring on the side of being too
conservative. This fixes these two harmless issues:
- For a single empty paste, it required another keystroke before
processing it
- For a sequence of themcase, a single '~' was left in the input
2015-09-27 16:08:07 -03:00
dequis
c721d57688
Handle a paste start marker right after an end one (ignore both)
...
This actually workarounds a bug with the "st" terminal, for which i've
already submitted a patch, but irssi needs to be able to handle it
decently too.
2015-09-27 16:08:07 -03:00
dequis
7d062a313a
Create paste_bracketed_middle() function to handle small pastes
...
"Small" as in ending in the same sig_input() call where they started
2015-09-27 16:08:07 -03:00
dequis
83f9772e21
Fix some minor style issues
2015-09-27 16:08:07 -03:00
dequis
79987d87f3
Send last line of bracketed paste together with the rest
2015-09-27 16:08:07 -03:00
dequis
3b01198f03
paste_bracketed_end: Fix rest length calculation
2015-09-27 16:08:07 -03:00
dequis
52729ca3da
Save the part of the paste buffer after the bp_end marker for later
...
Also move relevant code to a paste_bracketed_end() function
2015-09-27 16:08:07 -03:00
dequis
9a6b2dedcc
Improve bracketed paste start/end detection
...
- Use a keybinding to detect the start of a bracketed paste
- Iterate over the paste buffer looking for the end marker
2015-09-27 16:08:07 -03:00
LemonBoy
6888fc5fc7
Get rid of the non-portable memmem
...
The sequences we're after are found at the beginning or at the end of the
buffer, there's no need to scan the whole thing.
2015-09-27 16:08:06 -03:00
LemonBoy
4764b102ff
Enable the bracketed paste mode on demand
2015-09-27 16:08:06 -03:00
LemonBoy
15dad291c7
Replace some hairy logic with g_array_remove_range
...
In the hope it'll do the same under the hood.
2015-09-27 16:08:06 -03:00
LemonBoy
f1eead7b4a
Toggles
2015-09-27 16:08:06 -03:00
LemonBoy
72ac27e5a0
Implement the bracketed paste mode
...
As an alternative method of paste detection, more reliable but might not be
supported by all the VTs.
2015-09-27 16:08:06 -03:00
ailin-nemui
18989e76db
Merge pull request #304 from LemonBoy/sasl_user_options
...
Allow the user to set and modify the SASL parameters
2015-09-26 19:07:54 +02:00
LemonBoy
1a2c479bc0
Allow the user to set and modify the SASL parameters
...
The /NETWORK ADD command now is able to modify the SASL mechanism, the
username and the password on a chatnet basis.
2015-09-26 18:53:10 +02:00
Jari Matilainen
deb6ca1b1a
Applied patch from fs#275 to make /hilight -mask -line work properly
2015-09-24 13:03:02 +02:00
Jari Matilainen
a2277e84bd
Added functionality to create dir if dir specified in rawlog filename
2015-09-24 11:59:18 +02:00
Geert Hauwaerts
fc3c0a8420
Merge pull request #301 from dequis/dcc-get-ntfs-temp-bug
...
dcc-get: close() the temp fd so we don't get ETXTBSY in ntfs mounts
2015-09-24 10:05:30 +02:00
Robert C Jensen
b984f1fa25
dcc-get: close() the temp fd so we don't get ETXTBSY in ntfs mounts
...
Patch from debian bug 696963 [1]
Fixes github bug #220 and flyspray bug 867 [2]
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696963
[2]: http://bugs.irssi.org/index.php?do=details&task_id=867
2015-09-23 23:39:37 -03:00
Geert Hauwaerts
3daadfa4a2
Merge pull request #298 from dequis/multi-prefix
...
Add multi-prefix to list of capabilities to request
2015-09-23 20:13:25 +02:00
dequis
9da445ab86
Drop some glib version checks that are not needed anymore
...
The g_strcmp0 fallback in particular was broken since it was used in a
few places as a GCompareFunc, and macros don't work that way.
Yes, that one was my fault, but nobody complained :D
2015-09-23 13:58:22 -03:00
dequis
7ae7422939
Add multi-prefix to list of capabilities to request
...
Turns out event_names_list() in irc-nicklist.c already handles this.
event_who() just ignores it, which is probably a good idea since some of
the irc servers I tested this with have a bug that results in sending
multiple prefixes in the NAMES reply but not in the WHO one (they were
forks of ircd-hybrid before 7.3.0)
And NAMES always happens, anyway. WHO is omitted sometimes for huge
channels.
2015-09-23 03:17:29 -03:00
dequis
f247a43b97
sig_message_irc_op_public: fix nickmode lookup, use cleantarget instead
2015-09-22 19:35:10 -03:00
ailin-nemui
618a636f7c
Merge pull request #297 from vague666/hilight_nick_matches
...
Add new setting to modify behaviour of hilight_nick_matches to match anywhere in message
Fixes #56
2015-09-23 00:07:03 +02:00
Jari Matilainen
3f2eaf1d3a
Fix return value from nick_match_msg_everywhere, remove #include 'settings.h'
2015-09-22 23:16:41 +02:00
Jari Matilainen
b5c3e90802
Fix return value from nick_match_msg_everywhere
2015-09-22 23:09:55 +02:00
Jari Matilainen
5a4be0f4f5
Add new setting to optionally modify behaviour of hilight_nick_matches
...
Fix indentation
Remove unused variables that crept into the nick_match_msg_everywhere function
2015-09-22 22:49:50 +02:00
ailin-nemui
f5f3d7cc98
Revert "Network and IPv{4,6} related changes"
2015-09-22 21:59:17 +02:00
ailin-nemui
2d69deb0a3
Merge pull request #290 from LemonBoy/ipv6
...
Network and IPv{4,6} related changes
2015-09-22 17:43:31 +02:00
dequis
99f074b0db
fe_channel_skip_prefix: fix return value (FALSE/NULL isn't valid)
...
The return value is a char*, and here it was false which is 0 which is
more or less the same as null.
That could have been a crash somewhere, the functions that call this
don't expect null ever.
2015-09-22 01:17:15 -03:00
dequis
bf36f71b99
Fix #291 , "/msg +#channel incorrectly shows up as Nick:@#channel"
...
Just passing the full target to the "message irc op_public" signal
handler and letting it do the cleanup.
The fe_channel_skip_prefix() call in event_privmsg() is kept because
recode_in() needs a real channel name, but
There was similar code in sig_message_own_wall(), but that one is
correct - the /wall command always sends NOTICE @#chan, so I added a
comment down there to make it clear.
2015-09-22 00:01:04 -03:00
dequis
0823289fd9
Limit recursion depth of key/combo expansion in key_states_scan()
...
Fixes FS#817 - "SegFault when executing bind command", which provides
the test case "/bind cleft key meta", which is stupid but now it doesn't
break things.
The limit of 100 is arbitrary, it means roughly 140 stack frames total.
The flyspray ticket mentions it crashes at 512, in my system it goes all
the way to 149677 stack frames.
http://bugs.irssi.org/index.php?do=details&task_id=817
2015-09-21 22:59:24 -03:00
dequis
f39723f651
Fix FS#905, mangled text when pasted line length exceeds 400
...
http://bugs.irssi.org/index.php?do=details&task_id=905
Not using the patch from that ticket, the issue turned out to be that
(dest - last_lf_pos) returned number of unichr, not bytes, so that's 4
times less than what the size parameter of memmove() should be.
2015-09-21 17:53:46 -03:00
ailin-nemui
211e84c1e9
Merge pull request #267 from kyak/master
...
Add expandos for hostname
2015-09-21 18:47:09 +02:00
LemonBoy
564829610d
Ding dong the switch is dead
2015-09-21 14:55:35 +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
dx
0912a11050
Merge pull request #278 from LemonBoy/sasl
...
SASL support
2015-09-20 19:19:49 -03:00
LemonBoy
203c00938a
Use formats instead of g_warning
...
Add some copyright headers here and there too.
2015-09-21 00:04:37 +02:00
Alexander Færøy
a44c4b82de
More format warnings removed.
2015-09-20 23:11:39 +02:00
Alexander Færøy
6c9dcffb5e
Fix formatting warnings.
2015-09-20 22:51:13 +02:00
dx
9cf4dfd23d
Merge pull request #288 from irssi/ahf/kill-gc
...
Remove Garbage Collection support.
2015-09-20 16:49:48 -03:00
Alexander Færøy
519955ebe4
Fix warning.
...
Add comment on the use of ??) in C, since that string isn't entirely
obvious to people who are reading the code.
2015-09-20 21:45:33 +02:00
Alexander Færøy
29cf546ee4
Remove Garbage Collection support.
...
GC support was never enabled by default and nobody in the current
development team seems to care about it.
2015-09-20 21:28:14 +02:00
Alexander Færøy
be977bf1b7
Fix warning.
2015-09-20 21:21:40 +02:00
Alexander Færøy
1079ad46d2
Use g_string_append() instead of g_string_append_c() for string.
2015-09-20 21:12:07 +02:00
Alexander Færøy
ca363efe00
Use g_string_append() instead of g_string_append_c() for string.
2015-09-20 21:01:25 +02:00
LemonBoy
06040fb30b
Merge remote-tracking branch 'origin' into sasl
2015-09-19 23:58:16 +02:00
Jari Matilainen
9586766d87
Add setting to configure rejoin on reconnect behaviour
...
Closes #169
2015-09-19 18:34:05 -03:00
ailin-nemui
efc8f5f187
Merge pull request #283 from LemonBoy/unset-crnl
...
Clear the ICRNL flag
2015-09-19 23:09:29 +02:00
LemonBoy
061fb34750
Modify the terminal initialization sequence
...
We disable the ICRNL flag to make Enter independent from ^J from the
keybinding point of view since the former will now send ^M, leaving the
user free to remap ^J without trapping itself into the irssi session
because of a broken Enter key.
Also disable the software flow control because we don't expect anyone to
run irssi over a serial console; we gain some more freedom by having ^Q
and ^S freely mappable by the user.
2015-09-19 12:22:58 +02:00
dequis
f37f6ac0ed
Add two missing #include "fe-irc-channels.h"
...
Fixes #285
2015-09-18 23:56:17 -03:00
ailin-nemui
2b13e793c4
Merge pull request #259 from dequis/irssiproxy
...
Updates for irssiproxy
2015-09-19 02:53:25 +02:00
LemonBoy
24d32c28ee
Don't handle 908 as a critical failure
...
"if the mechanism is unknown, 908 is optional, 904 (or equivalent error condition) is required"
2015-09-11 23:21:33 +02:00
LemonBoy
49c4ea5fd9
Parse the error string received by the server
...
So that in case of SASL failure the user sees a nice error message.
2015-09-11 23:20:07 +02:00
LemonBoy
1f114d75c6
Consider the SASL handshake successful on 903
2015-09-11 23:17:46 +02:00
LemonBoy
55387dd93d
Handle event 906 and 908
2015-09-11 22:23:38 +02:00
LemonBoy
6645d0d38d
Explicitly set the authorization id during the PLAIN handshake
...
On error show the user the message sent by the server.
2015-09-11 22:09:47 +02:00
LemonBoy
171b67441d
Replace spaces with tabs
2015-09-11 01:17:18 +02:00
LemonBoy
c90c7deac3
Address all the points outlined in the first review
...
Replace G_SOURCE_REMOVE with FALSE for the compatibility sake.
Zero the timeout id after g_source_remove and when exipred.
Save the sasl_* options in sig_chatnet_saved().
2015-09-11 01:07:43 +02:00
LemonBoy
b8d3301d34
SASL support
...
The only supported methods are PLAIN and EXTERNAL, the latter is untested as of
now.
The code gets the values from the keys named sasl_{mechanism,username,password}
specified for each chatnet.
2015-09-11 00:30:16 +02:00
Alexander Færøy
7b46dae182
Merge pull request #248 from LemonBoy/chantypes
...
Implement CHANTYPES support
2015-09-10 01:37:08 +02:00
LemonBoy
4346c2a6d4
Move the function prototypes in a separate header
2015-09-09 23:55:00 +02:00
Alexander Færøy
762c1d7f2c
Merge pull request #276 from LemonBoy/terminfo-application-mode
...
Send smkx/rmkx sequence at terminal init
2015-09-09 22:55:24 +02:00
LemonBoy
b5b73cb471
Send smkx/rmkx sequence at terminal init
...
Enter the "application" mode when setting up the terminal, this improves the
compatiblity with the standards; as a side effect now DEL key works ootb when
irssi is run in the suckless's st terminal.
2015-09-06 15:47:08 +02:00
LemonBoy
21c1e4e9f8
Fix two minor issues outlined in the PR#222
...
irc-cap.c has now a licence header.
A minor style fix in misc.c
2015-09-02 22:40:10 +02:00
LemonBoy
57d645f246
Introduce some more chantypes awareness
2015-09-02 21:50:40 +02:00
LemonBoy
35d30c19a1
Whitespace fix
2015-09-02 20:24:47 +02:00
kyak
2f9cca8ec6
Remove extra line break
...
How did this extra break cripple in here?
2015-08-29 15:40:17 +03:00
kyak
b065f2a011
Use HOST_NAME_MAX for userhost and hostname expandos
...
Use HOST_NAME_MAX instead of hardcoded 100 for userhost
and hostname expandos.
2015-08-29 15:36:05 +03:00
kyak
b7d82ecdce
Use "(none)" as fallback for hostname and userhost expandos
...
Use "(none)" instead of "??" for hostname and userhost expandos
when these can't be reliably detected.
2015-08-29 15:32:22 +03:00
kyak
19760679eb
In expando_hostname, set *free_ret to TRUE
...
*free_ret must be set to TRUE in both cases, since we return
some newly initialised memory
2015-08-29 15:29:57 +03:00
kyak
0435331912
Clean up in hostname expando before return
...
Clean up the vector resulting from g_strsplit before
returning from expando_hostname(). Also, use g_strdup()
instead of g_strconcat() to return the pointer to hostname.
2015-08-26 09:34:48 +03:00
Alexander Færøy
d2c9f30977
Merge pull request #222 from LemonBoy/cap-support
...
[RFC] CAP support
2015-08-24 22:22:01 +02:00
LemonBoy
b0e7c18376
Send the CAP LS after sending the proxy strings
...
Patch by @dequis
2015-08-20 23:37:34 +02:00
blha303
92d03fe11e
Replace \n with \r\n in irssiproxy source, fixes bug
2015-07-25 02:41:26 -04:00