Sébastien Helleu
3a3dec985d
tests: add missing include of string.h
2025-11-10 13:39:03 +01:00
Sébastien Helleu
7051dd4351
tests: add unit tests on command /cursor
2025-11-10 09:05:36 +01:00
Sébastien Helleu
1094e70de2
tests: add unit tests on command /command
2025-11-10 09:04:13 +01:00
Sébastien Helleu
08545facb6
tests: add unit tests on command /color
2025-11-10 09:04:13 +01:00
Sébastien Helleu
2c4ede614e
tests: add unit tests on command /buffer
2025-11-10 09:04:13 +01:00
Sébastien Helleu
a89d5302fd
tests: add unit tests on command /bar
2025-11-10 09:04:13 +01:00
Sébastien Helleu
b61dca7d2d
tests: add unit tests on command /allbuf
2025-11-10 09:04:13 +01:00
Sébastien Helleu
4232123ca3
tests: add macros to test errors with commands
2025-11-10 09:04:13 +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
93d73d234f
relay/api: consider boolean/long query string parameters as invalid if they are empty
2025-10-26 18:12:02 +01:00
Sébastien Helleu
d05b83d03f
relay/api: return an error 401 when header "x-weechat-totp" is received with empty value
2025-10-26 10:11:10 +01:00
Sébastien Helleu
0009732f78
relay/api: return an error 401 when header "x-weechat-totp" has an invalid value
2025-10-26 09:19:43 +01:00
Sébastien Helleu
e637e0de1c
relay/api: return an error 400 when URL parameters "nicks", "lines" and "lines_free" have an invalid value
2025-10-26 08:07:23 +01:00
Sébastien Helleu
58c873809b
relay/api: return an error 400 when URL parameter "colors" has an invalid value
2025-10-26 07:22:10 +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
21a958423e
logger: change default time format to "%@%F %T.%fZ" (UTC)
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
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
Sébastien Helleu
1db29cb1ed
relay/api: reject any invalid or unknown password hash algorithm in handshake resource
2025-07-02 20:32:09 +02:00
Sébastien Helleu
4348036e2e
tests: remove duplicated "HTTP/1.1" in some relay API tests
2025-07-02 20:32:09 +02:00
Sébastien Helleu
93ec10b563
relay/api: return HTTP error 405 (Method Not Allowed) when the method received is not allowed
2025-07-02 20:32:09 +02:00
Sébastien Helleu
a6e859b7ff
tests: add test with a float number using a lot of decimals in calculation of expression
...
This test validates the fix made in commit
5b4820ab06 and will prevent regression with such
numbers.
2025-06-07 09:45:15 +02:00
Sébastien Helleu
aa6cbf911e
tests/fuzz: add link option -fsanitize=fuzzer-no-link when fuzzer sanitizer is used
2025-05-24 08:27:05 +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
9783256649
relay/api: use specifier %@ for times formatted by util_strftimeval
2025-05-18 22:15:39 +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
4d617d0e01
tests/fuzz: ignore huge data in fuzz testing of calculation functions
2025-05-18 17:22:10 +02:00
Sébastien Helleu
acbf1ddfcf
tests/fuzz: ignore empty or huge data in fuzz testing of secured data functions
2025-05-18 17:20:49 +02:00
Sébastien Helleu
1efa9d6b08
core: reactivate CMake tests in root build directory (issue #1462 )
...
This fixes the command `ctest` executed in the root build directory.
It was removed by accident in commit 68d87f2b80 .
2025-05-11 10:15:08 +02:00
Sébastien Helleu
5cfee46b59
tests/fuzz: add fuzz testing on evaluation functions (issue #1462 )
2025-05-10 21:21:35 +02:00
Sébastien Helleu
75195d32da
tests/fuzz: fix fuzz testing on function secure_derive_key (issue #1462 )
2025-05-10 21:21:33 +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
f9520b971e
tests/fuzz: add fuzz testing on secured data functions (issue #1462 )
2025-05-09 08:15:28 +02:00
Sébastien Helleu
776b908431
tests/fuzz: remove unnecessary malloc
2025-05-08 20:54:38 +02:00
Sébastien Helleu
229259b8c2
tests: add fuzz testing on some core util functions (issue #1462 )
2025-05-08 20:43:24 +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
1da89711a7
tests/fuzz: increase code covered by string tests
2025-05-08 17:04:23 +02:00
Sébastien Helleu
675c3279ac
tests/fuzz: initialize gettext before UTF-8 tests
2025-05-08 17:02:37 +02:00
Sébastien Helleu
7341d670b3
tests: add build script for OSS-Fuzz (issue #1462 )
2025-05-07 21:38:37 +02:00
Sébastien Helleu
38bf51ccfb
tests: convert fuzzing sources to C++
2025-05-07 21:15:51 +02:00
Sébastien Helleu
51d24fd2da
api: add function file_compare (issue #2250 )
2025-05-07 20:44:48 +02:00
Sébastien Helleu
9a661aecd0
tests: move fuzzing dict to core directory
2025-05-07 13:21:47 +02:00
Sébastien Helleu
85f565f6c1
core: add appropriate compiler/linker options for code coverage with clang
2025-05-07 13:20:44 +02:00
Sébastien Helleu
7cae4b276d
tests: remove useless variable rc
2025-05-06 07:13:38 +02:00
Sébastien Helleu
68d87f2b80
tests: add fuzz testing on core functions (issue #1462 )
...
This commit introduces fuzz testing, for now on core functions, with 4 new
targets that are built on demand with CMake option `ENABLE_FUZZ` (build of
these tests is disabled by default):
- weechat_core_calc_fuzzer
- weechat_core_crypto_fuzzer
- weechat_core_string_fuzzer
- weechat_core_utf8_fuzzer
2025-05-05 19:12:00 +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