1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-24 11:56:38 +02:00

309 Commits

Author SHA1 Message Date
Sébastien Helleu 436bbeceff tests: increase buffer size for injection of fake IRC message 2026-06-07 08:47:36 +02:00
Sébastien Helleu 1211510ded irc: limit size of data received from the server to prevent memory exhaustion
A malicious or compromised IRC server could send data with no end-of-line
(or a flood of "005" messages), making WeeChat accumulate it in a buffer
that grew without limit, until all memory was exhausted.

The unterminated received message and the accumulated "005" (ISUPPORT)
data are now bounded by IRC_SERVER_RECV_MSG_MAX_LENGTH and
IRC_SERVER_ISUPPORT_MAX_LENGTH: extra data is ignored once the limit is
reached.
2026-06-01 21:53:03 +02:00
Sébastien Helleu f53e7fb9ef core, plugins: fix typos in comments on functions, use imperative 2026-03-23 20:45:36 +01:00
Sébastien Helleu 106fe6ca7c core: update copyright dates 2026-03-08 10:37:15 +01:00
Sébastien Helleu 9b4fd66de7 irc: ignore self join if the channel is already joined (closes #2291)
There is an issue with some IRC servers that may send a JOIN with self nick
once already on the channel, this results in a clear of the nicklist on the
second JOIN received.

This fix silently ignores the second self JOIN if the channel is already
joined (with at least one nick).
2025-12-14 14:29:47 +01:00
Sébastien Helleu b8048b1666 irc: fix reset of color when multiple modes are set with command /mode 2025-11-22 12:31:37 +01:00
Sébastien Helleu e33ed57b47 irc: fix colors in MODE message (issue #2286) 2025-11-22 10:32:44 +01:00
Sébastien Helleu 790ce13843 tests: add colors in username for tests of messages 367 and 728 2025-11-22 10:32:44 +01:00
Sébastien Helleu d23a7a6105 irc: fix colors in ban mask (message 367) and quiet mask (message 728) (closes #2286) 2025-11-22 10:02:47 +01:00
Sébastien Helleu 07ef353b1b irc: remove temporary servers and option irc.look.temporary_servers 2025-11-01 09:15:54 +01:00
Sébastien Helleu 72b2242135 irc: send SASL username with mechanism EXTERNAL (closes #2270)
The SASL username is sent if set, otherwise "+" is still sent.
2025-10-12 16:11:33 +02:00
Sébastien Helleu b066f713d7 tests: fix memory leak in tests on SASL PLAIN authentication mechanism 2025-10-12 16:07:52 +02:00
Sébastien Helleu a1cbe63a42 tests: move CMake file, main C++/headers for tests and scripts to unit directory 2025-05-05 13:18:34 +02:00
Sébastien Helleu 683fa2f585 irc: add support of strikethrough color attribute (using half bright) (closes #2248)
As ncurses doesn't support strikethrough, the text is rendered as half
bright (WeeChat color: "dim").
2025-04-26 14:10:43 +02:00
Sébastien Helleu 2475f20cb7 all: move description of C files below the copyright and license 2025-03-31 11:47:49 +02:00
Sébastien Helleu 3a6ac9ee76 all: add SPDX license tag 2025-03-31 07:49:26 +02:00
Sébastien Helleu d8987a1678 all: replace Copyright lines by SPDX copyright tag 2025-03-30 14:47:12 +02:00
Sébastien Helleu 547e2b934e core: update copyright dates 2025-02-01 23:13:18 +01:00
Sébastien Helleu 6534919868 irc: decode IRC color codes only when displaying messages
Before parsing IRC messages, they were almost all changed to convert IRC color
codes to WeeChat color codes, which caused some bugs when storing data like
account and real names (stored with WeeChat color codes instead of IRC colors).

Now the messages are parsed as-is, then the colors are converted only when
strings are displayed in a buffer by `weechat_printf()`.
2024-09-22 23:05:16 +02:00
Sébastien Helleu 02847246b2 core, plugins, tests: fix octal notation in strings 2024-09-19 08:34:18 +02:00
Sébastien Helleu 1cf65df089 tests: add tests on missing supported IRC messages 2024-09-15 21:47:43 +02:00
Sébastien Helleu 01103cb02a irc: do not strip trailing spaces from incoming IRC messages 2024-09-15 21:47:32 +02:00
Sébastien Helleu 6908eec160 tests: replace POINTERS_EQUAL by STRCMP_EQUAL in string comparisons with NULL 2024-09-14 10:26:42 +02:00
Sébastien Helleu 3253500d15 irc: add option irc.look.notice_nicks_disable_notify 2024-09-02 19:55:27 +02:00
Sébastien Helleu cadd04693a irc: add support of message 569 (whois, connecting from) (closes #2162) 2024-07-22 10:39:03 +02:00
Sébastien Helleu 1c04f9419c tests: fix comment on test of IRC message 344 2024-07-22 10:38:13 +02:00
Sébastien Helleu 740aa49271 irc: rename parameter -re to -raw in command /list (closes #2124) 2024-06-16 09:15:03 +02:00
Sébastien Helleu 3835351226 tests: add placeholder for tests on function irc_list_export 2024-06-09 23:51:00 +02:00
Sébastien Helleu 7cf45707ea tests: add test on info "irc_buffer" with a valid server and a non-existing channel 2024-06-02 23:08:03 +02:00
Sébastien Helleu 7684d5a3d1 tests: add test of IRC message split with newline but no server 2024-05-25 19:48:41 +02:00
Sébastien Helleu 878c0a5d66 irc: allow range in commands /unban and /unquiet (closes #2113) 2024-05-13 23:05:39 +02:00
Sébastien Helleu 5991278637 irc: rename function irc_server_buffer_set_input_multiline to irc_server_set_buffer_input_multiline 2024-05-09 15:55:31 +02:00
Sébastien Helleu 4adb64284b buffer: add property input_get_any_user_data in buffer (issue #2066)
This allows buffers to get any user input, including commands, that are sent to
the buffer callback instead of being executed on the buffer.
2024-04-07 13:18:13 +02:00
Sébastien Helleu 40bfded594 irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled 2024-04-06 22:44:04 +02:00
Sébastien Helleu 2c3c9a3ee7 tests: rename variable "i" to "echo_message" 2024-04-06 18:29:42 +02:00
Sébastien Helleu 74729ce677 irc: display CTCP reply to a nick in server buffer instead of channel
When a CTCP request is received on a channel, WeeChat replies to the nick and
it is now displayed in the server buffer instead of the channel, as the target
is a nick and not a channel.
2024-04-06 16:42:15 +02:00
Sébastien Helleu d81170b010 tests: add extra tests on received IRC CTCP messages 2024-04-06 16:37:40 +02:00
Sébastien Helleu 965beb37de core: fix print of pointer values 2024-04-01 21:08:52 +02:00
Sébastien Helleu 24c4029c96 core: remove "wee-" prefix from source files in src/core and src/core/hook 2024-03-12 21:27:37 +01:00
Sébastien Helleu 90c87e7553 irc: add missing tags on self action messages when capability echo-message is enabled (closes #2074) 2024-02-16 20:58:31 +01:00
Sébastien Helleu 162bcb2622 irc: don't strip monospace color code 0x11 from incoming messages (closes #2073) 2024-02-16 19:22:28 +01:00
Sébastien Helleu 0cfc61a17e irc: add server option "autojoin_delay" (closes #862)
The server option "autojoin_delay" adds a delay before autojoin.

The server option "command_delay" is now used to add a delay before the
execution of the command.

On upgrade from an old version, the option "command_delay" is copied to
"autojoin_delay" (in old versions, "command_delay" was applied after the
execution of command and before the autojoin).
2024-02-11 09:12:57 +01:00
Sébastien Helleu f126255d6a core: add support of base64url in encode/decode functions (issue #2066) 2024-02-01 21:39:21 +01:00
Sébastien Helleu fe52f7c78c tests: remove extra empty line 2024-01-22 13:58:33 +01:00
Sébastien Helleu 06b4e46977 irc: fix random date displayed when a received message contains tags but no "time" (closes #2064) 2024-01-22 13:18:25 +01:00
Sébastien Helleu 05fdb2929f tests: add missing format string in calls to snprintf 2024-01-21 09:17:11 +01:00
Sébastien Helleu 869fba9f74 irc: add tests on info functions (issue #2059) 2024-01-12 17:58:36 +01:00
Sébastien Helleu 57a206287a irc: fix display of self messages in case of message split failure
When the message sends inconsistent max lengths in message 005, the split of
self message fails and causes a display issue: the channel name is displayed
with the message:

  nick | #channel :this is a test

instead of:

  nick | this is a test
2024-01-05 21:36:58 +01:00
Sébastien Helleu 4a1e5e7eaa irc: remove function irc_protocol_parse_time, use API function weechat_util_parse_time (issue #649) 2024-01-05 19:28:47 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00