ailin-nemui
afb3daaf65
Merge pull request #919 from ailin-nemui/uafs
...
Use-after-frees
2018-09-04 09:35:47 +02:00
ailin-nemui
8261b2a7c8
Merge pull request #922 from dequis/fix-new-config-file-write
...
Fix /save not working if the config didn't previously exist
2018-09-04 09:35:21 +02:00
dequis
e2e27d1809
Improve error message when failing to create the config dir
2018-09-02 01:20:09 -03:00
dequis
3351c54a2f
Fix /save not working if the config didn't previously exist
...
realpath() was supposed to resolve symlinks but it also fails with
ENOENT (no such file or directory) if the file just isn't there.
2018-09-01 19:12:17 -03:00
Will Storey
b11932d24f
Make channel event functions static again
2018-08-27 21:04:23 -07:00
Will Storey
2ccb312b8b
Expose functions for testing
2018-08-27 20:51:18 -07:00
Will Storey
2d6033542e
Add functions to override irssi dir and config
...
Setting up to test is easier this way.
2018-08-27 20:51:18 -07:00
Will Storey
04db359a6d
Handle topic info numeric separately from topic & topic numeric
...
As we called the same function for the topic info numeric, we ended up
losing the topic as that numeric does not include it. We now call a
different function to handle this case more carefully. Fixes #903 .
2018-08-27 20:51:18 -07:00
Will Storey
bbca1a5a0f
Revert "Revert "Flag topic as unset if it is zero length""
...
This reverts commit 817179a760
.
2018-08-27 20:50:17 -07:00
ailin-nemui
1bbd9f393c
Merge pull request #909 from meribold/master
...
Fix `/save` replacing symlinks with regular files
2018-08-27 10:13:20 +02:00
dequis
7b70d051da
wcwidth-wrapper: avoid cast with a tiny wrapper, julia_wcwidth()
2018-08-27 00:14:01 -03:00
dequis
92804cb1aa
gui-windows: make the wcwidth_impl global var into static
2018-08-27 00:01:47 -03:00
dequis
e450a7f8c1
modules_deinit: Fix -Werror=declaration-after-statement
2018-08-24 02:27:45 -03:00
dequis
ade2f87fe5
Fix use after free introduced by the use after free patch
2018-08-24 02:19:42 -03:00
dequis
9dd836b876
Fix "discards ‘const’ qualifier" warnings
2018-08-24 02:11:22 -03:00
ailin-nemui
071ada830b
up abi
2018-08-23 14:21:37 +02:00
coypu@sdf.org
610ab2dafa
Use-after-frees
...
Hi folks!
I tried clang-static-analyzer on irssi 1.1.1, it seems like it
finds some things. Here's a diff, but there might be more that you would
want to check, or choose to work differently.
(in special-vars.c, ret is commands->data sometime)
I hope it's not too much trouble if reported as a confidential bug.
Thanks.
2018-08-23 14:13:48 +02:00
ailin-nemui
b2a429bfb4
update line cache on switching wcwidth implementation
2018-08-23 14:03:53 +02:00
ailin-nemui
3ef0b9b3d0
move "auto" to default instead
2018-08-23 14:03:16 +02:00
ailin-nemui
b95ce3e812
add julia's utf8proc wcwidth implementation
2018-08-23 13:23:35 +02:00
dequis
24f1ed7edb
irc-cap: Don't show warning on CAP LIST response
2018-08-23 03:22:30 -03:00
dequis
0d8632943d
Add a wrapper of wcwidth() that picks the best implementation
...
This adds a i_wcwidth() function that replaces mk_wcwidth(), and a
'wcwidth_implementation' setting to pick which one it wraps.
Values:
- old: uses our local mk_wcwidth() which implements unicode 5.0
- system: uses the libc-provided wcwidth(), which may be better or worse
than ours depending on how up to date the system is.
- auto: tests the system one against two characters that became
fullwidth in unicode 5.2 and 9.0 respectively. If either of them pass,
pick the system implementation, otherwise pick ours.
It defaults to auto.
mk_wcwidth() is still preferable in some cases, since the way it uses
ranges for fullwidth characters means most CJK blocks are covered even
if their characters didn't exist back then.
The "system" implementation is also wrapped to never return -1, but to
assume those unknown characters use one cell. Quoting the code:
/* Treat all unknown characters as taking one cell. This is
* the reason mk_wcwidth and other outdated implementations
* mostly worked with newer unicode, while glibc's wcwidth
* needs updating to recognize new characters.
*
* Instead of relying on that, we keep the behavior of assuming
* one cell even for glibc's implementation, which is still
* highly accurate and less of a headache overall.
*/
2018-08-23 02:30:26 -03:00
ailin-nemui
af1e4d6e34
initialise the line to zeros
2018-08-21 09:21:23 +02:00
ailin-nemui
a19b503a31
properly record line info on empty lines
2018-08-21 00:31:12 +02:00
Joseph Bisch
4f5f62ac63
Add server-fuzz to fe-fuzz
...
Based on test-796.c in the tests directory.
2018-08-15 11:11:09 -04:00
ailin-nemui
817179a760
Revert "Flag topic as unset if it is zero length"
2018-08-13 14:43:25 +02:00
Lukas Waymann
7d3eb47ab5
Fix potential rename(3)
across file systems
...
Make sure the temporary file in the `config_write` function is created
on the same file system as the file we `rename` it to later.
2018-08-12 10:55:47 +00:00
Lukas Waymann
764f8215a9
Fix /save
replacing symlinks with regular files
...
A side-effect of 8deb618
is that `/save` may replace configuration files
that are symlinks with regular files. Fix this by resolving all
symlinks before renaming the temporary file.
2018-08-12 07:22:14 +00:00
David Phillips
10f6326649
Redraw on SIGWINCH when screen size hasn't changed
...
Some programs and users send SIGWINCH as a request for the client to redraw
in the event of session detachment/reattachment (e.g. abduco). A well-formed
terminal will only send SIGWINCH when the window size has changed, so there
is no need to optimise this case out.
2018-08-06 14:58:56 +12:00
Doug Freed
f3909b8bcb
core/ignore: fix #900
2018-08-03 17:07:06 -04:00
ailin-nemui
0c94d44f52
Merge pull request #892 from dwfreed/fix-ignore-flags
...
core/ignore: fix ignore_match_level handling of flag levels
2018-08-02 13:42:24 +02:00
ailin-nemui
ffd7ecc8bf
Merge pull request #897 from horgh/horgh/topic-unset
...
Flag topic as unset if it is zero length
2018-07-31 09:34:15 +02:00
dequis
b114b11e36
channel_change_topic: change one strlen == 0 to *str == '\0'
2018-07-30 23:45:56 -03:00
ailin-nemui
c7e50f48e5
Merge pull request #886 from vague666/set_item_format
...
remove = from format because people get confused by it
2018-07-25 11:32:06 +02:00
Will Storey
15840ac27b
If we receive a 0 length topic, record it as unset
...
Fixes #888 .
Previously we showed that there was a topic set when using /topic, just
an empty one. This was different than how we show such topics when
initially joining a channel. Now we say that the topic is unset in both
cases.
2018-07-24 18:45:22 -07:00
Will Storey
0e187cf9cf
Fix typo in comment
2018-07-24 18:29:31 -07:00
Janik Rabe
4f45828ff3
Keep errstr set to NULL if errno is not set
...
Don't use errno if it is not set and show the default error message
instead. This prevents messages like "SSL handshake failed: Success"
from being shown.
2018-07-18 21:12:38 +03:00
Doug Freed
d84a24444f
core/ignore: fix ignore_match_level handling of flag levels
2018-06-29 09:00:38 -04:00
vague666
1ab679bf32
remove = from format because people get confused by it
2018-06-14 20:07:43 +02:00
vague666
ba2554dd14
missing space
2018-06-09 05:55:25 +02:00
vague666
d2e1caf720
simplifying code
2018-06-07 15:17:46 +02:00
vague666
1547248e94
simplify code
2018-06-06 11:03:44 +02:00
vague666
ac3af3fb56
these were bitflags
2018-06-06 10:00:38 +02:00
vague666
db3b671328
Added HIDDEN level to ignores
2018-06-05 15:29:40 +02:00
ailin-nemui
631650bd8a
Revert "record line info on empty lines"
2018-05-07 21:22:43 +02:00
ailin-nemui
e19d6ee219
Merge pull request #873 from ailin-nemui/empty_lines
...
record line info on empty lines
2018-04-24 13:58:25 +02:00
ailin-nemui
0caf884e92
Merge pull request #871 from dequis/atomic-config-write
...
Make config_write more atomic to prevent truncation when out of space
2018-04-24 13:58:15 +02:00
ailin-nemui
34b31e8451
record line info on empty lines
2018-04-16 16:22:04 +02:00
dequis
8deb6182c6
Make config_write more atomic to prevent truncation when out of space
...
This is modeled after glib's g_file_set_contents. It doesn't use that
function directly because the writing is done with GIOChannel
streaming-like writes and g_file_set_contents expects the whole thing to
be in-memory.
Main differences with g_file_set_contents:
- complete lack of win32 special casing (cygwin/WSL should work though)
- no fallocate() (linux only, but we don't know the size upfront, anyway)
- always calls fsync (glib skips it on btrfs or when not overwriting)
Other than that, it's the same old mkstemp + fsync + rename.
2018-04-08 15:52:09 -03:00
dequis
d0151fd5a2
Add fe-cap to show messages for CAP-related events in the UI
...
Replaces cap.pl
2018-04-08 01:26:11 -03:00
dequis
af5ee997e7
Add "server cap req" signal, emitted before requesting caps
2018-04-08 01:24:48 -03:00
ailin-nemui
b2b1ac6708
Merge pull request #866 from ailin-nemui/reconnects
...
This is a simple change which might fix #130
The lookup_servers are also disconnected if the lookup/SSL handshake doesn't succeed in time. I'm not perfectly sure if this is the master fix but it does seem to be an issue that servers can be stuck in lookup, especially for SSL. See the issue for a reproducer
2018-04-06 10:50:58 +02:00
ailin-nemui
8bf2162053
Merge pull request #858 from ailin-nemui/sbar
...
change the statusbar commands so that no accidential status bars are created
2018-04-02 08:36:53 +02:00
ailin-nemui
0c1db8f2ae
Merge pull request #854 from irssi/ahf/otr
...
OTR support, take 2
2018-03-31 13:04:35 +02:00
dequis
4501917cae
otr: rename module.c to otr-module.c
2018-03-31 01:46:34 -03:00
ailin-nemui
c08685a1a3
also reconnect lookup_servers
2018-03-29 23:24:13 +02:00
ailin-nemui
a3b9e2370f
up abi
2018-03-29 22:00:40 +02:00
dequis
7d7c6975ed
otr: add target param to the unencrypted 'message private' signal
...
Same case as the previous commit.
2018-03-28 23:36:03 -03:00
dequis
dd7dc7ca7d
otr: fix missing 'target' param in 'message private' signal
...
Fixes warnings like these on '/msg yourself'
-!- Irssi: critical privmsg_get_query: assertion 'nick != NULL' failed
-!- Irssi: critical query_find: assertion 'nick != NULL' failed
2018-03-28 23:06:47 -03:00
dequis
b52cf1015e
otr: add KEY_GEN_STARTED state to avoid starting it twice
...
Fun race condition there, got this when testing with the jabber
xmlconsole open in bitlbee
2018-03-28 22:40:17 -03:00
Dorian Harmans
17920ab5aa
Merge remote-tracking branch 'upstream/master'
2018-03-26 22:50:54 +02:00
ailin-nemui
7fc59d2d10
Merge pull request #862 from ailin-nemui/line_is_null
...
fix a crash when trying to append to a NULL line
2018-03-26 12:46:04 +02:00
Dorian Harmans
25a44dacf4
fix build with LibreSSL 2.7.0
2018-03-23 21:35:35 +01:00
ailin-nemui
138eca0749
fix build
2018-03-20 18:13:26 +01:00
ailin-nemui
ee04cd503f
add disabled txt
2018-03-20 17:59:11 +01:00
ailin-nemui
977c2c0a0d
refactor common parts
2018-03-20 17:53:03 +01:00
ailin-nemui
501c150ec2
make new status bar actually work
2018-03-20 17:39:08 +01:00
ailin-nemui
7d99ff05cd
Merge pull request #803 from ailin-nemui/bug-796-test
...
Postpone server cleanup until after unref
2018-03-20 10:30:01 +01:00
ailin-nemui
6ffbd0ab54
Merge pull request #859 from ailin-nemui/delkeys
...
make default keybinds deletable
2018-03-19 16:23:27 +01:00
ailin-nemui
c8191b3315
abi bump
2018-03-19 10:35:42 +01:00
ailin-nemui
61c58b7690
actually check which of add or modify was called
2018-03-19 10:35:39 +01:00
ailin-nemui
d845ee7361
change the statusbar commands so that no accidenal status bars are created
2018-03-19 09:59:22 +01:00
ailin-nemui
c7ca8102c0
fix a crash when trying to append to a NULL line
...
reported by @vague666
2018-03-17 13:36:38 +01:00
ailin-nemui
65a139aa9e
move no window printing code
2018-03-16 12:54:15 +01:00
Alexander Færøy
8d07f52bae
Add ABI check for otr_core module.
2018-03-15 14:01:50 +01:00
ailin-nemui
b7906b8706
in fact hidden levels should not be re-set when you run /set
2018-03-15 10:06:29 +01:00
ailin-nemui
7ec6c500b4
make default keybinds deletable
2018-03-12 17:46:26 +01:00
ailin-nemui
575daf4af7
Merge pull request #852 from dequis/document-cat-seek
...
Document second parameter (seek position) of /cat command
2018-03-10 13:11:39 +01:00
LemonBoy
76d958a87f
More g_strcmp0 -> g_ascii_strcasecmp
2018-03-09 17:36:28 +01:00
LemonBoy
fb9f5174c2
Compare channels/networks fields case-insensitively
...
Fixes #856
2018-03-08 20:35:00 +01:00
Alexander Færøy
016b42baea
Add OTR support.
...
This patch adds support for the OTR protocol to irssi. This is an import
of the external irssi-otr project that we are now taking over
maintership for.
Major thanks to the original authors of Irssi-OTR: Uli Meis and David
Goulet. Thanks to the OTR community in #OTR on OFTC, thanks to everyone
who have helped testing the patches and submitted UI suggestions.
2018-02-26 23:32:57 +01:00
dequis
097a9f4988
Document second parameter (seek position) of /cat command
2018-02-16 10:09:48 -03:00
ailin-nemui
203f6c5329
also unblock theme elements when processing finished
2018-02-16 13:46:29 +01:00
ailin-nemui
e289d34b9a
limit alignment padding to a screenful
...
Credit to Oss-Fuzz
2018-02-14 15:04:24 +01:00
ailin-nemui
a6fcd5432e
improve padding performance
...
Credit to Oss-Fuzz
2018-02-13 12:31:22 +01:00
ailin-nemui
c01f6df957
Merge pull request #844 from CatboxParadox/perms
...
dcc get shouldn't fail when file attrs can't be changed
2018-02-13 11:10:21 +01:00
Nei
b0d9cb33cd
Merge branch 'security' into 'master'
...
Security
See merge request irssi/irssi!34
2018-02-13 09:51:22 +00:00
Staron, Martin
3cbcb4fe85
dcc get shouldn't fail when file attrs can't be changed
2018-02-13 08:15:39 +01:00
ailin-nemui
5c5ed64180
try to make sure the server is still good enough to call ischannel when printing netsplit/join
2018-02-09 13:02:00 +01:00
ailin-nemui
946876b1e9
Merge pull request #843 from ailin-nemui/glib238
...
restore compat with glib <2.40
2018-02-09 11:49:23 +01:00
ailin-nemui
16912e1a91
restore compat with glib <2.40
2018-02-08 14:41:08 +01:00
ailin-nemui
e32e9d63c6
Do not read beyond end of escaped string
...
Credit to OSS-Fuzz
2018-02-08 14:11:23 +01:00
ailin-nemui
02712942e0
Merge pull request #835 from ailin-nemui/theme-stack
...
protect theme recursion
2018-02-07 21:23:39 +01:00
ailin-nemui
1e6d787401
ensure cap_supported is existent yet
2018-02-07 11:07:22 +01:00
Nei
12483c688a
Merge branch 'sasl-timeout' into 'security'
...
Fix Sasl timeout error
See merge request irssi/irssi!33
2018-02-06 06:46:11 +00:00
Nei
a73659e0ea
Merge branch 'soperise' into 'security'
...
Soperise
See merge request irssi/irssi!32
2018-02-06 06:45:54 +00:00
Nei
41e2b535ef
Merge branch 'nonick' into 'security'
...
please give us nicks
See merge request irssi/irssi!31
2018-02-06 06:45:32 +00:00
ailin-nemui
f8fbc1e1ab
Merge pull request #775 from LemonBoy/caps_kv
...
CAP 3.2 support
2018-02-05 22:29:35 +01:00
ailin-nemui
8183180613
Merge pull request #764 from GinjaNinja32/colorful-input
...
Add color support for input bar
2018-02-05 22:28:08 +01:00
ailin-nemui
cfcc021c81
Merge pull request #824 from dequis/more-netsplit-revert
...
Revert more of the netsplit print optimisation to fix crashes
2018-02-05 22:26:32 +01:00
ailin-nemui
3c1bc5f916
Merge pull request #836 from ailin-nemui/resize
...
Fix resizing of windows when used incorrectly
2018-02-05 22:25:33 +01:00
ailin-nemui
442f6f08b4
Merge pull request #837 from ailin-nemui/no-show
...
check the error condition of mainwindow_create
2018-02-05 22:24:17 +01:00
ailin-nemui
b33ce255a9
check for negative bound
2018-02-04 11:34:20 +01:00
ailin-nemui
c25e122149
Merge pull request #822 from Manishearth/autocomplete-colon
...
Insert colons after completing nicks preceded by a list of other autocompleted nicks
2018-02-04 11:28:25 +01:00
ailin-nemui
9c494a88a3
Merge pull request #831 from ailin-nemui/openssl-x509
...
Do not use X509_STORE on OpenSSL < 1.0.2
2018-02-04 11:27:02 +01:00
ailin-nemui
2185c4ddb3
up abi
2018-02-03 23:19:27 +01:00
ailin-nemui
9072e98819
change color -> extents (malloc based)
2018-02-02 13:56:56 +01:00
ailin-nemui
84f03e0146
do not reuse sasl timeout
2018-02-02 11:43:23 +01:00
ailin-nemui
5b5bfef035
check the error condition of mainwindow_create
2018-02-02 10:05:37 +01:00
ailin-nemui
f0bd434eb0
stop the madness
2018-02-02 09:50:08 +01:00
ailin-nemui
4c662acf95
another replaces fix
...
Credit to OSS-Fuzz
2018-02-01 14:19:40 +01:00
ailin-nemui
12360fb2c0
protect theme recursion
2018-02-01 10:21:31 +01:00
ailin-nemui
8028dcff93
Merge pull request #830 from g-elfling/master
...
Add Shift-Tab completion to gui-readline
2018-01-30 11:20:40 +01:00
ailin-nemui
126189bb37
we probably should not try to replace replaces
...
Credit to OSS-Fuzz
2018-01-29 09:28:55 +01:00
dequis
a4f99ae746
Revert more of the netsplit print optimisation to fix crashes
...
Now iterating over all servers to avoid crashes on server_ischannel(),
which is a macro for server->ischannel(), so it dies horribly when it's
null. Doesn't help that IS_IRC_SERVER() always returns true on null.
2018-01-28 23:06:26 -03:00
ailin-nemui
0909d47e5b
Check that server is still existent when using /oper
2018-01-25 16:11:31 +01:00
ailin-nemui
e91da9e409
please give us nicks
2018-01-25 16:05:47 +01:00
Ailin Nemui
af087e1103
fix sequence error
2018-01-25 15:08:26 +01:00
Ailin Nemui
f5aa829bd0
Do not use X509_STORE on OpenSSL < 1.0.2
2018-01-25 15:01:55 +01:00
Niklas Luokkala
6dfe5bc836
modified gui-readline based on the suggestions made to the pull request
2018-01-24 22:12:09 +02:00
LemonBoy
260733475c
Accept CAPs with an empty value (KEY=)
2018-01-24 10:55:20 +01:00
LemonBoy
b0b40be82e
Deprecate gslist_remove_string
...
It is not used anymore and it leaks memory.
2018-01-24 10:47:40 +01:00
LemonBoy
474ee8ee70
Address some minor stylish nits
2018-01-24 10:45:54 +01:00
Niklas Luokkala
0ba1b1f2a4
removed unnecessary repetition
2018-01-24 01:49:28 +02:00
Niklas Luokkala
d14dbbd093
Add Shift-Tab completion to gui-readline
2018-01-24 00:15:29 +02:00
Manish Goregaokar
12d08f79bb
Insert colons after completing nicks preceded by a list of other autocompleted nicks
...
When pinging two people, typing `nick1<tab> nick2<tab> message` for
autocompletion will get you `nick1: nick2 message`, which is kinda
confusing.
We only insert the colon after the first autocompleted nick,
because if a nick is used in the middle of the sentence it's mentioning
the person but not targeting the message at them.
However, this breaks down when we try to ping a list of people. There
should be a colon in front of each separating the names from the
message. only having a colon at the end of the nick list works too,
but it seems like the IRC convention is to just use multiple colons.
This patch makes it so that autocompleting a nick after a list of
existing autocompleted nicks at the beginning of the message
will include a colon.
2018-01-20 10:25:06 +05:30
GinjaNinja32
0f1b3873fe
Don't accept pos<0 or len<0 in gui_entry_set_color
2018-01-18 10:08:00 +01:00
GinjaNinja32
13b93c8c05
Apply changes based on review feedback
2018-01-18 10:08:00 +01:00
GinjaNinja32
925ae6e6ad
Add color support for input bar
2018-01-18 10:08:00 +01:00
Zero King
d983ad1a87
Update Irssi website URLs
2018-01-16 15:23:54 +00:00
Joseph Bisch
182673ed05
Add theme_load to fe-fuzz
2018-01-15 11:59:01 -05:00
Joseph Bisch
4512e2683a
Merge pull request #780 from josephbisch/fuzz-event-get-params
...
Add event_get_params to fe-fuzz
2018-01-15 10:53:21 -05:00
ailin-nemui
fa8508404f
revert netsplit print optimisation
...
this reverts part of #465
unfortunately we need to further refine the initial patch
- when filtering by channel, the whole split is cleaned up nevertheless
- something similar happens for the netjoins
- furthermore, we cannot wait only for PUBLIC msgs, j/p/q are equivalently relevant for temporal integrity
2018-01-10 20:12:04 +01:00
Jari Matilainen
4041f29711
Changed spaces to tab
2018-01-09 23:16:26 +01:00
Jari Matilainen
f2e73a7046
Add perl access to hidden_level in TEXT_BUFFER_VIEW_REC
2018-01-09 23:15:08 +01:00
ailin-nemui
a6663c58d4
Merge pull request #697 from ailin-nemui/rsplit
...
sideways split support for Irssi
2018-01-08 12:20:20 +01:00
ailin-nemui
f83ba5a5bb
Merge pull request #779 from vague666/activity_hide_target_only_channels_v2
...
Allow selection of what kind of activity targets to ignore v2
2018-01-08 12:19:46 +01:00
ailin-nemui
2e0815bfd7
Merge pull request #726 from dequis/term-environment-check
...
Add a startup warning if the TERM var is wrong inside tmux/screen
2018-01-08 12:19:30 +01:00
ailin-nemui
063c85da6c
Fix space in message
2018-01-07 20:01:00 +01:00
LemonBoy
fed791ed91
Fix a problem with multiline responses
...
Do not clear the whole table every time a response is received.
2018-01-07 12:36:21 +01:00
LemonBoy
4b9fcbc15a
Nicer error message when a duplicate CAP in LS
2018-01-07 12:36:21 +01:00
LemonBoy
f3a5355648
Match LS instead of checking the first letter only
2018-01-07 12:36:21 +01:00
LemonBoy
6c45ab0493
Command names may be in lower-case
...
Do not take the string case into account when comparing the command
name.
2018-01-07 12:36:20 +01:00
LemonBoy
c00132ac4c
Simplify the code
...
Early exit, simpler code.
2018-01-07 12:36:20 +01:00
LemonBoy
9160ddaffd
Keep processing the CAPs on error
...
If an invalid CAP is found we keep going by parsing the next one.
2018-01-07 12:36:20 +01:00
LemonBoy
cd107deb46
Prevent a memory leak
...
When a CAP DEL is received the key/val pair is not stored in the
hashtable at all so just free them when we're done.
2018-01-07 12:36:20 +01:00
LemonBoy
74409aa850
Miscellaneous fixes
...
Stylistic stuff, please ignore.
2018-01-07 12:36:20 +01:00
LemonBoy
f683e81880
Prevent a NULL pointer deference
...
Always create the cap_supported table when a CAP event is received.
2018-01-07 12:36:20 +01:00
LemonBoy
432368bdc6
Use strcmp instead of g_strcmp0
...
There's no need to use the latter.
2018-01-07 12:36:19 +01:00
LemonBoy
cfc8c9f8e2
Properly dispose the GSList chains
...
We forgot to free the link and the data, oops.
2018-01-07 12:36:19 +01:00
LemonBoy
f4d811ddf5
Handle CAP {ADD,DEL} from cap-notify
...
This is the last piece of the puzzle.
2018-01-07 12:36:19 +01:00
LemonBoy
8c87766132
Parse multiline responses to CAP LS
...
The parsing logic isn't too elegant because of the optional parameter
used for signaling if a response has a continuation one.
2018-01-07 12:36:19 +01:00
LemonBoy
57827ca743
Don't free the hash table if there's none
...
Glib doesn't like that and shows a harmless warning.
2018-01-07 12:36:18 +01:00
LemonBoy
d21706e1cc
Factor out the parsing function
...
This is also needed for CAP NEW and CAP DEL.
2018-01-07 12:36:18 +01:00
LemonBoy
98836f8b7e
Parse the K/V form in CAP LS
...
This is a prerequisite for the IRC v3.2 compliance.
2018-01-07 12:36:18 +01:00
ailin-nemui
0d5e353ef1
Reword warning message
...
Include multiplexer name in TERM recommendation
2018-01-07 11:43:13 +01:00
ailin-nemui
d85f867261
Merge pull request #805 from ailin-nemui/exec-empty
...
fix /exec -o for blank lines
2018-01-07 11:24:00 +01:00
ailin-nemui
e7cce90ec0
Merge pull request #804 from ailin-nemui/patch-1
...
handle an already used nick different from the one we send
2018-01-07 11:23:42 +01:00
ailin-nemui
e75ee2f74c
Merge pull request #746 from ailin-nemui/hide-lines
...
Add method to hide lines in a view
2018-01-07 11:23:22 +01:00
dequis
f9c8365999
fe-common-core: fix redeclaration of server_tag_len
2018-01-07 01:45:12 -03:00
dequis
0aafd011c0
Add a startup warning if the TERM var is wrong inside tmux/screen
...
One of the most common and confusing issues we get in #irssi,
this should help identifying and mitigating it.
2018-01-06 18:04:01 -03:00
ailin-nemui
121a4971e6
Update fe-common-core.c
...
fix mixed decls
2018-01-06 20:17:51 +01:00
ailin-nemui
4d5982f07d
Update fe-common-core.c
2018-01-06 20:02:31 +01:00
ailin-nemui
ded4e4d98d
fix redraw
2018-01-06 01:05:35 +01:00
ailin-nemui
63d8e884dd
fix some more
2018-01-06 00:26:48 +01:00
ailin-nemui
4e71a1f485
sideways split support for Irssi
...
warning:
* may be buggy
This commit adds support for sideways splits into Irssi. To that regard,
there are a number of new commands available
the "R" commands:
/window new rsplit - make a new sideways split
/window rshow - show an existing window to the right
/window rgrow/rshrink/rsize/rbalance
- manipulate the size of your sideways split windows
the "D" commands:
/window dup/ddown/dleft/dright
- navigate the windows directionally, as an alternative to
/window up/down that you can bind to some key
/window move dleft/dright - the same for moving
Enjoy!
2018-01-06 00:26:48 +01:00
ailin-nemui
451019d05d
make format_real_length left-collecting
2018-01-06 00:26:48 +01:00
ailin-nemui
6e6a96d8c1
fix uaf in signal path
2018-01-06 00:02:48 +01:00
ailin-nemui
b111f038dd
fix /exec -o for blank lines
...
since it is not allowed to send nothing, instead of spamming the status window
with error, send " " instead
Fixes FS#902
2018-01-05 23:19:06 +01:00
ailin-nemui
eb18904840
fix crash in notifylist
2018-01-05 22:13:23 +01:00
ailin-nemui
3c7185c5ad
Update irc-nicklist.c
...
move altnick check before the nick correction code
2018-01-05 00:38:54 +01:00
Nei
7bed781622
Merge branch 'fix-gl-20' into 'security'
...
do not record topic change time when sender is blank
See merge request irssi/irssi!25
2018-01-04 22:19:39 +00:00
Nei
f5c3995fea
Merge branch 'fix-gl-21' into 'security'
...
check if \\c is complete in eval
See merge request irssi/irssi!26
2018-01-04 22:19:34 +00:00
Nei
94f0cbe34a
Merge branch 'fix-gl-19' into 'security'
...
rewrite completion code and check for direct match of separator
See merge request irssi/irssi!27
2018-01-04 22:19:29 +00:00
ailin-nemui
c9b3d87eb7
Postpone server cleanup until after unref
...
Add a new signal, server destroyed, that is supposed to run the clean up
tasks of server disconnected. This is so that some structures will stay
around longer.
2018-01-04 23:04:12 +01:00
ailin-nemui
cc17837a9b
disable variable arguments code
2018-01-03 15:51:51 +01:00
ailin-nemui
2361d4b1e5
rewrite completion code and check for direct match of separator
2018-01-03 15:35:18 +01:00
ailin-nemui
7a83c63701
check if \\c is complete in eval
2018-01-03 14:09:48 +01:00
ailin-nemui
54d453623d
do not record topic change time when sender is blank
2018-01-03 12:45:43 +01:00
Nei
e405330e04
Merge branch 'uaf-modify' into 'master'
...
Prevent a UAF error during the execution of some commands
See merge request irssi/irssi!24
2018-01-03 10:35:58 +00:00
Joseph Bisch
15705432e1
Remove outdated comment
2018-01-02 20:22:38 -05:00
Joseph Bisch
ef07b3c60c
Remove redundant if case
2018-01-02 20:21:07 -05:00
ailin-nemui
48e909dde7
Merge pull request #766 from horgh/horgh/mode-parsing
...
Fix MODE parameter parsing
2017-12-11 23:48:23 +01:00
Will Storey
b0637ad6ea
Update NULL comparison style and be C89 compatible
2017-12-02 10:09:52 -08:00
ailin-nemui
2b918fd9b8
move decls before code
2017-11-30 11:17:05 +01:00
ailin-nemui
b332d448f7
fix comments
2017-11-30 11:15:47 +01:00
Will Storey
1a49787ef2
Revert initializing pointers to NULL
...
To maintain C89 compatibility
2017-11-27 19:37:11 -08:00
ailin-nemui
5637a8df43
Merge pull request #790 from ailin-nemui/mirc-colour
...
reset colour at comma, like mIRC
2017-11-26 15:18:43 +01:00
ailin-nemui
466d074200
Merge branch 'master' into hide-lines
2017-11-26 00:31:01 +01:00
ailin-nemui
3792bc9ba9
Merge pull request #762 from ailin-nemui/global-history
...
allow access to global command history when using a specifc history
2017-11-26 00:28:58 +01:00
ailin-nemui
47400d405a
Update formats.c
...
remove now useless check for ,
2017-11-20 14:17:15 +01:00
ailin-nemui
3acc72f842
reset colour at comma, like mIRC
...
Fixes #742 and #740
2017-11-15 16:35:25 +01:00
ailin-nemui
4e8c1548e0
Merge pull request #786 from ailin-nemui/show-inital-nick
...
show initial nick and name on first start
2017-11-15 16:28:22 +01:00
LemonBoy
7605f67f95
Prevent a UAF error during the execution of some commands
...
Some arguments were free'd first and then printed, leading to gibberish
being output to screen or a crash.
Found by Joseph Bisch.
Closes: !GL17
2017-11-11 12:37:51 +01:00
ailin-nemui
02c677f467
use enum
2017-11-10 22:02:36 +01:00
LemonBoy
66b2c9bc91
Keep a copy of the strings coming from the config
...
The "HILIGHT_REC" structure used to keep a pointer to the "servertag"
string, owned by the "CONFIG_NODE", causing a double-free.
2017-11-03 16:37:04 +01:00
Joseph Bisch
532527ffa6
Use gchar and g_strndup in fe-fuzz
2017-11-02 11:56:53 -04:00
Joseph Bisch
f4b89044f0
Fix malloc parameter in fe-fuzz
...
It is fairly safe to assume that sizeof(char) will always be 1 anyway
and replace the size calculation with a comment explaining the
calculation.
2017-11-02 11:48:30 -04:00
Joseph Bisch
f9d69597ef
Remove unnecessary malloc cast in fe-fuzz
...
We compile this as C code, so the cast is unnecessary.
2017-11-02 11:44:57 -04:00
Jari Matilainen
60c31219a2
Allow selection of what kind of activity targets to ignore
...
Initialize tagtarget on declaration
move code around for better flow, extra checks for uninitialized values
remove unnecessary item->type checks
don't strdup sign
add braces around if statements, use strcmp0 with single characters and remove g_str_has_prefix
refactoring
changed g_ascii_strcasecmp to g_strcmp0
Add networktag/ shorthand
fixed memory leaks
changed from #@= to ::channels, ::queries and ::dccqueries
check for empty string and continue; if found
fixed bug with empty string check
Clean up code
2017-11-02 15:33:15 +01:00
ailin-nemui
4d6822b1c4
up abi
2017-11-01 15:52:45 +01:00
ailin-nemui
b0fa4dd46d
show initial nick and name on first start
2017-11-01 15:51:20 +01:00
ailin-nemui
96c7f68b35
clean up file path after move
2017-10-26 16:15:25 +02:00
Will Storey
8843d4f77d
Strip : from <trailing> parameters
...
This is to fix #601 . The function used to extract the mode string
assumed that ":" would only occur in a particular spot. This lead to the
possibility that ":" could be treated as part of things like nicknames
or mode arguments, where it should have been stripped as part of
protocol escaping.
2017-10-24 19:51:01 -07:00
Joseph Bisch
84fc92635a
Add event_get_params to fe-fuzz
2017-10-24 13:27:11 -04:00
ailin-nemui
cfa51c5ae2
Merge pull request #770 from horgh/horgh/rm-unused-function
...
Remove a couple unused functions
2017-10-23 14:29:34 +02:00
Nei
495bdd11cf
Merge branch 'fix-16' into 'security'
...
Prevent a OOB read when parsing IRCNet ! channels
See merge request irssi/irssi!22
2017-10-20 13:23:28 +00:00
Nei
c46bed1e17
Merge branch 'fix-gl-15' into 'security'
...
Don't proceed with cmd_msg if there was an error splitting msg
See merge request irssi/irssi!21
2017-10-20 15:22:32 +02:00
Nei
3c2ae68073
Merge branch 'fix-dcc' into 'security'
...
fix dcc
See merge request irssi/irssi!20
2017-10-20 15:22:32 +02:00
Joseph Bisch
0840eaec7b
Make split functions return an array with NULL instead of NULL
...
This avoids undefined behavior in functions that call these split
functions and expect an array back instead of just a NULL pointer.
2017-10-20 15:22:32 +02:00
Nei
f4c8018cfb
Merge branch 'fix-gl-13' into 'security'
...
Fix use after free when channel is destroyed inbetween being synced
See merge request irssi/irssi!19
2017-10-20 15:22:32 +02:00
Joseph Bisch
beb2beba3b
Revert "Don't proceed with cmd_msg if there was an error splitting msg"
...
This reverts commit bd83852d646de28f2e0fe01efe7c9236aa4074d4.
2017-10-20 15:22:32 +02:00
Nei
e37d9b2497
Merge branch 'fix-gl-12' into 'security'
...
fix out of bounds read in compress_colors
See merge request irssi/irssi!18
2017-10-20 15:22:32 +02:00
Joseph Bisch
73d7b9d775
Don't proceed with cmd_msg if there was an error splitting msg
...
There may be cases (such as if target or server->nick is very long)
where the split_message function returns NULL, indicating an error. To
avoid a potential segfault, we now check to see if splitmsgs is NULL.
2017-10-20 15:22:32 +02:00
ailin-nemui
9f0dc4766c
fix dcc issue
2017-10-20 15:14:10 +02:00
LemonBoy
45dfe2ba38
Prevent a OOB read when parsing IRCNet ! channels
...
Make sure the string has enough data.
Fixes #16
2017-10-19 11:17:56 +02:00
LemonBoy
28d0b8c746
Merge pull request #771 from paultownsend/issue-120
...
Add alternate_nick as a network-specific property
2017-10-18 12:00:56 +02:00
Paul Townsend
7b94015f8f
Changes based on comments in pull #771 .
2017-10-14 17:42:45 +01:00
Will Storey
233be9f580
Mark net_ip_compare() deprecated
2017-10-13 18:30:57 -07:00
Will Storey
da59fd7c2d
Revert "Delete unused function net_ip_compare()"
...
This reverts commit cb5f3cba1f
.
2017-10-13 18:28:26 -07:00
ailin-nemui
7b97edf9d1
Merge pull request #769 from horgh/horgh/error-check-server-connect
...
Set host to an empty string on error
2017-10-13 17:14:47 +02:00
Edward Tomasz Napierala
9895e7b28a
Silence down a warning that would appear on "/away" in Capability mode.
2017-10-11 23:52:36 +01:00
Edward Tomasz Napierala
5c0b4aeb05
Sort Capsicum headers.
2017-10-11 23:31:26 +01:00
Edward Tomasz Napierala
1e66cbd62e
Improve Capsicum stdio limits to fix terminal state on exit.
2017-10-11 23:13:06 +01:00
Paul Townsend
87955b69cb
Add alternate_nick as a network-specific property.
2017-10-11 21:33:14 +01:00
Edward Tomasz Napierala
17b195021d
Bump default capsicum_port_max to 9999.
...
This is needed for servers like ssl.efnet.org, which, per default
config, listen on 9999.
2017-10-11 14:34:38 +01:00
Will Storey
174adee9dd
Always initialize the host string
...
This also removes a wordy comment
2017-10-10 18:21:05 -07:00
Will Storey
b8b90c76d4
Delete unused function net_connect()
2017-10-09 13:20:44 -07:00
Will Storey
3b3939b146
Delete commented out CYGWIN define
2017-10-09 13:14:59 -07:00
Will Storey
cb5f3cba1f
Delete unused function net_ip_compare()
2017-10-09 13:14:34 -07:00
Will Storey
4ccff71f67
Set host to an empty string on error
...
While investigating #317 , I noticed that it was possible we would access
an uninitialized buffer due to failing to check the return value of
net_ip2host(). This is done in several places. To make such uses safe,
set the host buffer to an empty string on error. It is possible callers
could be improved by handling the error in each spot, but this gives us
some safety.
2017-10-09 12:50:04 -07:00
Joseph Bisch
2edd816e7d
Fix segfault in query_remove_all
...
It is possible for rec to be NULL in query_remove_all, resulting in a
segfault. So return without doing anything if rec is NULL.
2017-10-08 22:02:44 -04:00
ailin-nemui
49ace3251b
fix uaf in chanquery module
...
the chanquery needs to be removed in any case if a channel rec is
destroyed, regardless of any state
Fixes GL#13
2017-10-08 19:48:11 +02:00
ailin-nemui
00c80cb6fc
fix out of bounds read in compress_colors
...
Reported by Hanno Böck.
Fixes GL#12
2017-10-07 20:48:53 +02:00
Edward Tomasz Napierala
40ae8f5fa6
Limit capsicum rights to stdio.
...
This requires FreeBSD fix (https://reviews.freebsd.org/D12622 )
to work properly.
2017-10-07 03:28:02 +01:00
ailin-nemui
5da0b73a12
up abi
2017-10-06 15:31:59 +02:00
ailin-nemui
deac66f33c
add a key binding to erase history entries
...
it is possible to delete the current history entry using the
erase_history_entry key binding
2017-10-06 15:31:52 +02:00
ailin-nemui
16d68a86ca
add two XSFuncs to manipulate command history entries
...
it is possible to use Irssi::UI::Window::get_history_entries to save the
history entries, load_history_entries to load entries into the command
history and delete_history_entries to remove history entries (for example
to remove history selectively)
2017-10-06 15:02:15 +02:00
ailin-nemui
1fd285dccf
refactor history to use history_entries list
...
this allows access to the global history even when a using /window history
named or /set window_history on, and you want to recall something from one
of the other windows' histories.
usage (default): ctrl+up/down
2017-10-06 14:58:47 +02:00
ailin-nemui
92dbb1895b
Merge pull request #754 from ailin-nemui/fix-752
...
add new function to set the position in bytes
2017-10-05 11:31:44 +02:00
ailin-nemui
1f7de4c3bd
up abi
2017-10-05 11:31:33 +02:00
ailin-nemui
8dfeca57ed
hidden lines
2017-09-21 14:20:31 +02:00
ailin-nemui
0468c5d912
add new function to set the position in bytes
...
fixes #752
2017-09-15 13:47:01 +02:00
ailin-nemui
fc8c15fcd7
Merge pull request #755 from trasz/capsicum
...
Get rid of the zombies in Capsicum capability mode.
2017-09-15 13:40:17 +02:00
Edward Tomasz Napierala
624ef4a696
Get rid of the zombies in Capsicum capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-09-12 14:19:17 +01:00
LemonBoy
36d8b974fc
Restore compatibility with old OpenSSL versions
...
Let's implement X509_STORE_up_ref on our own.
2017-09-11 17:19:20 +02:00
LemonBoy
96d5a4669d
Increment the X509_STORE refcount during the connection
...
OpenSSL doesn't increment the reference count when the store is assigned
to a SSL_CTX.
2017-09-11 16:32:36 +02:00
ailin-nemui
24ad80177b
Merge pull request #735 from trasz/capsicum
...
Add Capsicum support
2017-09-10 19:43:59 +02:00
Edward Tomasz Napierala
b529e1a9df
Fix /back in Capsicum capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-09-08 13:14:24 +01:00
LemonBoy
7086eae650
Complete filenames ending with a slash
2017-08-29 21:03:42 +02:00