Sébastien Helleu
3e49b73117
api: fix file descriptor leak in hook_url ( closes #2284 )
...
This can happen after a timeout or if the hook is removed during the transfer.
2025-11-15 17:28:44 +01:00
Sébastien Helleu
1c53d3d466
api: add functions to parse integer numbers
...
New functions:
- util_parse_int
- util_parse_long
- util_parse_longlong
2025-11-12 20:24:00 +01:00
Sébastien Helleu
8032ca1433
core: display an error message in case of invalid size with commands /window splith and /window splitv
2025-11-12 07:26:01 +01:00
Sébastien Helleu
ac69288ed7
core: display an error message in case of invalid size with command /window resize
2025-11-12 07:22:12 +01:00
Sébastien Helleu
0930976456
core: display an error if parameters are missing in command /window resize
2025-11-12 07:18:06 +01:00
Sébastien Helleu
d5bfe35245
core: display an error if parameters are missing or if the buffer is not with "free content" in command /window scroll_horiz
2025-11-12 07:12:00 +01:00
Sébastien Helleu
90a42ee213
core: display an error if parameters are missing in command /window scroll
2025-11-12 07:08:33 +01:00
Sébastien Helleu
6981f9f204
core: display an error message if the window number is not found with command /window xxx -window N
2025-11-12 07:05:56 +01:00
Sébastien Helleu
237b07575b
core: fix typo in comment
2025-11-11 10:57:51 +01:00
Sébastien Helleu
cfcadd155d
core: display an error message if the date can not be parsed with command /print -date
2025-11-11 10:41:55 +01:00
Sébastien Helleu
d0298b4738
core: display a message with command /filter toggle
...
The command has now the same output as `/filter enable` or `/filter disable`:
/filter toggle => "Message filtering disabled"
/filter toggle => "Message filtering enabled"
2025-11-10 15:06:44 +01:00
Sébastien Helleu
c0116febe5
core: display an error message in case of invalid parameters with command /cursor
2025-11-10 09:05:36 +01:00
Sébastien Helleu
8c6e6bb383
core: display full buffer name in output of command /buffer listvar
2025-11-10 09:04:13 +01:00
Sébastien Helleu
c9d4dd48a0
core: display an error message if the buffer is not found with command /buffer listvar
2025-11-10 09:04:13 +01:00
Sébastien Helleu
af41184889
core: fix return code of command /buffer renumber when the start number is invalid
2025-11-10 09:04:13 +01:00
Sébastien Helleu
6d7dd46015
core: display an error message if the bar is not found with command /bar scroll
2025-11-10 09:04:13 +01:00
Sébastien Helleu
f854db17ff
core: add hdata for hooks
...
New hooks:
- hook
- hook_command
- hook_command_run
- hook_completion
- hook_config
- hook_connect
- hook_fd
- hook_focus
- hook_hdata
- hook_hsignal
- hook_info
- hook_info_hashtable
- hook_infolist
- hook_line
- hook_modifier
- hook_print
- hook_process
- hook_signal
- hook_timer
- hook_url
New lists (for hooks of type "hook"):
- weechat_hooks_command, last_weechat_hook_command
- weechat_hooks_command_run, last_weechat_hook_command_run
- weechat_hooks_completion, last_weechat_hook_completion
- weechat_hooks_config, last_weechat_hook_config
- weechat_hooks_connect, last_weechat_hook_connect
- weechat_hooks_fd, last_weechat_hook_fd
- weechat_hooks_focus, last_weechat_hook_focus
- weechat_hooks_hdata, last_weechat_hook_hdata
- weechat_hooks_hsignal, last_weechat_hook_hsignal
- weechat_hooks_info, last_weechat_hook_info
- weechat_hooks_info_hashtable, last_weechat_hook_info_hashtable
- weechat_hooks_infolist, last_weechat_hook_infolist
- weechat_hooks_line, last_weechat_hook_line
- weechat_hooks_modifier, last_weechat_hook_modifier
- weechat_hooks_print, last_weechat_hook_print
- weechat_hooks_process, last_weechat_hook_process
- weechat_hooks_signal, last_weechat_hook_signal
- weechat_hooks_timer, last_weechat_hook_timer
- weechat_hooks_url, last_weechat_hook_url
2025-10-12 17:37:24 +02:00
Sébastien Helleu
222cb4876e
core: set max version for Curl symbol CURLOPT_KRBLEVEL
2025-09-23 12:13:33 +02:00
Sébastien Helleu
e2ae308e3b
core: add option weechat.completion.cycle
2025-09-11 21:10:52 +02:00
Sébastien Helleu
665773b119
doc/api: add supported date/time format in function util_parse_time
2025-08-31 12:15:33 +02:00
Sébastien Helleu
1c09118fe1
api: allow lower characters "t" and "z" in function util_parse_time
...
The following dates are now parsed with the same result:
2025-08-30T20:12:55.866643Z
2025-08-30t20:12:55.866643z
2025-08-31 12:15:33 +02:00
Sébastien Helleu
5acbfe9b7d
api: fix parsing of date/times with timezone offset in function util_parse_time
2025-08-31 12:15:33 +02:00
Sébastien Helleu
7980a6d100
api: add support of date like ISO 8601 but with spaces in function util_parse_time
...
So for example the format "2024-01-04 22:01:02.123456 +0100" is supported in
addition to ""2024-01-04T22:01:02.123456+0100".
2025-08-31 12:15:33 +02:00
Sébastien Helleu
f630c36af0
core: remove obsolete Curl options CURLOPT_SOCKS5_GSSAPI_SERVICE and CURLOPT_HTTPPOST (issue #2268 )
2025-08-31 12:14:50 +02:00
Emil Velikov
f48e6ee81d
Bump required (lib)gcrypt to v1.8.0
...
Bump the requirement to v1.8.0, which means we can remove ~70% of the
ifdef guard.
It was released over 8 years ago, with 3 new feature releases since
then and dozen of bugfix releases in the 1.8 branch.
The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 1.8.5 and 1.8.7 respectively.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com >
2025-08-31 10:36:20 +02:00
Emil Velikov
8c372c0c01
Bump required (lib)curl to v7.68.0
...
Bump the requirement to v7.68.0, which means we can remove ~70% of the
ifdef guards. It was released over 5 years ago, with 30+ new curl
releases since then and dozens of CVEs fixed.
The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 7.68.0 and 7.74.0 respectively.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com >
2025-08-31 10:36:20 +02:00
Sébastien Helleu
def60c1e1c
core: cast Curl proxy port option to long
...
This fixes this warning with clang:
src/core/core-url.c:1017:5: warning: call to '_curl_easy_setopt_err_long' declared with 'warning' attribute: curl_easy_setopt expects a long argument [-Wattribute-warning]
1017 | curl_easy_setopt (curl, CURLOPT_PROXYPORT,
| ^
/usr/include/x86_64-linux-gnu/curl/typecheck-gcc.h:50:15: note: expanded from macro 'curl_easy_setopt'
50 | _curl_easy_setopt_err_long(); \
| ^
2025-08-31 10:10:15 +02:00
Sébastien Helleu
323f80e914
core: add option weechat.completion.partial_completion_auto_expand ( closes #2253 )
2025-06-30 18:52:58 +02:00
Sébastien Helleu
6d45a69f39
core: set max version for Curl symbol CURLOPT_SSL_FALSESTART
2025-06-21 20:30:05 +02:00
Sébastien Helleu
34f2e6cdd0
core: add script name in output of /debug hooks <plugin>
2025-06-08 16:36:46 +02:00
Albert Lee
7fb3ca6686
core: always define _XPG4_2 and __EXTENSIONS__ on Solaris/illumos
2025-05-25 09:06:51 +02:00
Albert Lee
69d3787b5e
core: improve support for non-macro htonll and htobe64
2025-05-25 09:03:48 +02:00
Albert Lee
d7b26e88b8
core: include pthread.h for pthread types
2025-05-22 21:02:53 +02:00
Sébastien Helleu
927a50e366
core, plugins: replace "%p" by "%lx" in calls to sscanf
2025-05-18 22:17:29 +02:00
Sébastien Helleu
d0c00f7db2
Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
...
This reverts commit e64ab3c675 .
This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/illumos.
And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-18 22:17:16 +02:00
Sébastien Helleu
8106db400d
core: add support of specifier %@ for UTC time in function util_strftimeval
2025-05-18 22:15:06 +02:00
Sébastien Helleu
7b674c2618
core: add extra checks in function eval_string_range_chars
...
This is done in addition to changes made in commit
d475c16671 to fix the buffer overflow, caused by
the call to function utf8_next_char.
2025-05-11 10:26:17 +02:00
Sébastien Helleu
d475c16671
core: fix buffer overflow in function utf8_next_char and return NULL for empty string
...
Now the function utf8_next_char with an empty string returns NULL instead of
the next char, which is most of the time after an allocated buffer.
And the function utf8_char_size with an empty string now returns 0 instead of
1.
This indirectly fixes a buffer overflow in function eval_string_range_chars
when the input string is empty (for example when doing `/eval -n ${chars:}`).
2025-05-10 20:53:04 +02:00
Sébastien Helleu
6ecd9e66bf
core: fix buffer overflow in function eval_string_base_encode
2025-05-10 15:28:41 +02:00
Sébastien Helleu
9d37159a6b
core: use dynamic string in function string_replace_with_callback
2025-05-10 15:26:12 +02:00
Sébastien Helleu
aa54d3653c
core: fix buffer overflow in function eval_syntax_highlight_colorize
2025-05-10 15:26:09 +02:00
Sébastien Helleu
1d808a1f1c
core: fix buffer overflow in function util_parse_time
2025-05-08 19:09:18 +02:00
Sébastien Helleu
2bc290b6ed
core: fix integer overflow and return "unsigned long" in function util_version_number
2025-05-08 18:45:39 +02:00
Sébastien Helleu
f6cace609c
core: fix memory leak in function util_parse_delay
2025-05-08 18:12:11 +02:00
Sébastien Helleu
d74fc99fe1
core: write configuration files on disk only if there are changes ( closes #2250 )
2025-05-07 20:44:54 +02:00
Sébastien Helleu
51d24fd2da
api: add function file_compare (issue #2250 )
2025-05-07 20:44:48 +02:00
Sébastien Helleu
ca6035f754
core: fix integer overflow in base32 encoding/decoding
2025-05-05 20:43:21 +02:00
Sébastien Helleu
5b4820ab06
core: fix integer overflow with decimal numbers in calculation of expression
2025-05-05 20:25:41 +02:00
Sébastien Helleu
ceb6a007ff
core: add missing empty line
2025-05-05 13:18:35 +02:00
Sébastien Helleu
0e777fef4e
core: update example in /help key
2025-04-25 18:12:59 +02:00