Commit graph

605 commits

Author SHA1 Message Date
moirhira
b61f546588 fe-dcc-chat: fix segfault in dcc_closed() when window already destroyed
During shutdown, query_destroy() fires before dcc_close(), leaving
the DCC record pointing at a freed window. dcc_closed() then calls
printformat() with NULL as the window item, which causes a NULL
dereference in store_lineinfo_tmp() at textbuffer-formats.c:148.

Fix by looking up the query window and passing its name string
to printformat(), falling back to NULL which safely prints to
the server window. Also removes dead code where sender was
allocated but never used in the printformat call.

Reproducer: /dcc chat <nick>, then /quit
Tested against both a local server and irc.libera.chat.
2026-04-27 16:00:50 +01:00
Ailin Nemui
221d520c37 run meson formatter 2026-01-25 22:07:44 +01:00
ailin-nemui
d5be7d7756
Merge pull request #1578 from ailin-nemui/cygwin
make compilation work on cygwin
2026-01-23 20:20:43 +00:00
soulseller
5416843d2d fe-netsplit: fix nickname truncation to avoid trailing comma-space 2025-11-23 15:15:24 +02:00
Ailin Nemui
989ddd8429 replace shared_module with shared_library
according to mesonbuild irc chat
2025-07-25 19:49:53 +02:00
Ailin Nemui
df8aa42778 make compilation work on cygwin 2025-07-25 16:20:28 +01:00
Ailin Nemui
d6c146a1fa initialise memory in ctcp ping reply 2025-03-24 08:54:01 +01:00
Ailin Nemui
822fd50132 fix /ban command 2024-04-12 22:55:20 +02:00
Ailin Nemui
c0db0b8cb8 add explicit name_suffix to shared modules 2023-08-10 10:19:01 +02:00
ailin-nemui
274977a587
Merge pull request #1471 from irssi/from-codeberg
Sync
2023-05-25 11:00:40 +00:00
Ailin Nemui
0355ed0bea format 2023-05-25 11:42:15 +02:00
Ailin Nemui
0bcff291e9 order 2023-05-25 11:36:25 +02:00
Andrej Kacian
9e9858638d Fix logic in how own actions are printed for other protocols
When working with channels belonging to other, non-IRC protocols,
calling irc_channel_find() returns NULL, which makes irssi
use IRCTXT_OWN_ACTION_TARGET format, instead of the correct
IRCTXT_OWN_ACTION.

Using generic channel_find() instead fixes the issue.
2023-05-04 23:10:27 +02:00
David Schultz
ee12134812
clean up time_ago()
Co-authored-by: Doug Freed <dwfreed@mtu.edu>
2023-03-27 19:37:48 -05:00
David Schultz
201296a0da add time_ago() in addition to timestamps; deduplicate qlist logic 2023-03-27 18:21:36 -05:00
David Schultz
9324ff9f68 this should work for everyone 2023-03-27 11:05:40 -05:00
David Schultz
556f580f67 add support for ircd-hybrid quiet lists 2023-03-26 19:27:48 -05:00
David Schultz
2db9dfbb46 properly format listmodes and their timestamps 2023-03-26 16:36:27 -05:00
Andrej Kacian
3057c9e920 Fix logic in how actions are printed for other protocols
This causes subsequent window_item_set_active() check, further
down in the same function, to evaluate correctly, and getting
the action message printed using correct format.
2023-03-21 06:25:57 +00:00
Jari Matilainen
fe77b7e06f
Update /server syntax line 2022-09-12 14:07:05 +02:00
Ailin Nemui
4f1e5f35a3 fix formatting 2022-04-21 22:00:18 +02:00
Ailin Nemui
ba16d71e9f add SERVER_ to constants 2022-04-21 22:00:18 +02:00
Valentin Lorentz
f684c18867 s/irctxt_/server_/ 2022-04-21 22:00:18 +02:00
Valentin Lorentz
48571389c7 Revert "Add ERR_HELPNOTFOUND"
This reverts commit 91439c099e1bbf848dac03f67a3239fcc4c1f771;
because it adds handling for numeric 524, which conflicts with
ERR_QUARANTINED and ERR_OPERSPVERIFY.
2022-04-21 22:00:18 +02:00
Valentin Lorentz
41b3895ce3 Free signals 2022-04-21 22:00:18 +02:00
Valentin Lorentz
1415ef5389 Add ERR_HELPNOTFOUND 2022-04-21 22:00:18 +02:00
Valentin Lorentz
3a3301e19b Format RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP
They are typical replies when using the HELP command.
2022-04-21 22:00:18 +02:00
Ailin Nemui
7360944900 add new PUBNOTICES level
separating private notices and channel notices
2022-04-21 13:38:40 +02:00
Ailin Nemui
884cabd55d restore irc bound queries 2022-03-16 00:02:29 +01:00
Ailin Nemui
883510a3fd remove deprecated defines
- PERL_STATIC_LIBS (was not tested anymore)
- HAVE_GMODULE (always required)
- HAVE_STATIC_IRC
- HAVE_STATIC_PERL
- HAVE_SOCKS (was not working properly)
- USE_GREGEX (we use it)
2022-02-20 17:33:36 +01:00
Ailin Nemui
b8736225cf good-bye and thanks, autotools 2022-02-19 21:44:10 +01:00
Ailin Nemui
9b73d152fe use gint64 define 2022-02-19 00:34:06 +01:00
Ailin Nemui
2e6c376342 add android cross link deps 2022-02-16 21:49:11 +01:00
Ailin Nemui
89bcff606f fix meson deprecations 2022-02-16 21:49:11 +01:00
Ailin Nemui
82f8ee57c3 autoload the IRC module 2022-02-16 21:49:11 +01:00
ailin-nemui
4432b0bf0d
Merge pull request #1170 from ailin-nemui/starttls
use starttls / enable tls_verify
2021-04-18 12:01:14 +02:00
ailin-nemui
f93879baff
Merge pull request #1260 from ailin-nemui/nohilight
add /IGNORE ... NOHILIGHT to ignore some hilights
2021-04-18 12:00:52 +02:00
Ailin Nemui
8a5d5d384e add nocap flag 2021-04-08 22:38:44 +02:00
Ailin Nemui
085c08e65c use enum 2021-04-08 21:55:35 +02:00
Ailin Nemui
244a8c72b4 verify tls connection 2021-04-08 21:55:35 +02:00
Ailin Nemui
9668217509 changes suggested by ahf 2021-04-08 21:55:35 +02:00
ailin-nemui
51508ff1d3 use starttls 2021-04-08 21:55:35 +02:00
Ailin Nemui
46493c051b add /IGNORE ... NOHILIGHT to ignore some hilights 2021-04-07 14:31:36 +02:00
Ailin Nemui
b4ab8c1ada missing strdup on netsplits w/o chan 2021-04-03 21:32:04 +02:00
ailin-nemui
437accdfa6
Merge pull request #1250 from ailin-nemui/whox
better account tracking
2021-04-01 21:27:51 +02:00
Ailin Nemui
53c91623c5 fix level uninitialised
Credit to OSS-Fuzz
2021-03-03 17:39:44 +01:00
Ailin Nemui
a0a9a82673 fix missing output 2021-02-26 14:19:33 +01:00
Ailin Nemui
dc87199100 better account tracking 2021-02-26 14:19:33 +01:00
Ailin Nemui
e7f3946583 configure automake with nostdinc
the current directoryh won't be added to the compiler's -I path
2021-02-02 00:24:34 +01:00
ailin-nemui
db9aa817d5
Merge pull request #1246 from ailin-nemui/wrong-prefixes
correct wrong function prefixes

Module authors will have to adapt these changes:

    [M] 'constant I_INPUT_READ'    {G_INPUT_READ}
    [M] 'constant I_INPUT_WRITE'    {G_INPUT_WRITE}
    [M] 'function int i_input_add(GIOChannel*, int, GInputFunction, void*)'    {g_input_add}
    [M] 'function int i_input_add_full(GIOChannel*, int, int, GInputFunction, void*)'    {g_input_add_full}
    [M] 'function int i_input_add_poll(int, int, int, GInputFunction, void*)'    {g_input_add_poll}
    [M] 'function GIOChannel* i_io_channel_new(int)'    {g_io_channel_new}
    [M] 'function int i_io_channel_read_block(GIOChannel*, void*, int)'    {g_io_channel_read_block}
    [M] 'function int i_io_channel_write_block(GIOChannel*, void*, int)'    {g_io_channel_write_block}
    [M] 'function int i_istr_cmp(gconstpointer, gconstpointer)'    {g_istr_cmp}
    [M] 'function int i_istr_equal(gconstpointer, gconstpointer)'    {g_istr_equal}
    [M] 'function guint i_istr_hash(gconstpointer)'    {g_istr_hash}
    [M] 'function void i_log_func(const char*, GLogLevelFlags, const char*)'    {glog_func}
    [M] 'function GSList* i_slist_delete_string(GSList*, const char*, GDestroyNotify)'    {gslist_delete_string}
    [M] 'function GSList* i_slist_find_icase_string(GSList*, const char*)'    {gslist_find_icase_string}
    [M] 'function GSList* i_slist_find_string(GSList*, const char*)'    {gslist_find_string}
    [M] 'function void* i_slist_foreach_find(GSList*, FOREACH_FIND_FUNC, void*)'    {gslist_foreach_find}
    [M] 'function void i_slist_free_full(GSList*, GDestroyNotify)'    {gslist_free_full}
    [M] 'function GSList* i_slist_remove_string(GSList*, const char*)'    {gslist_remove_string}
    [M] 'function char* i_slist_to_string(GSList*, const char*)'    {gslist_to_string}
2021-01-30 21:09:26 +01:00