1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 20:36:38 +02:00
Commit Graph

1023 Commits

Author SHA1 Message Date
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