1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00
Commit Graph

164 Commits

Author SHA1 Message Date
Sébastien Helleu 3505324096 api: use buffer pointer in argument "modifier_data" sent to weechat_print modifier callback (closes #42) 2020-05-09 10:08:18 +02:00
Sébastien Helleu b1c3a29ac7 core: add include comparison operators in evaluation of expressions
New comparison operators:

- "==*": is matching mask, case sensitive (wildcard "*" is allowed)
- "!!*": is NOT matching mask, case sensitive (wildcard "*" is allowed)
- "==-": is included, case sensitive
- "!!-": is NOT included, case sensitive
- "=-": is included, case insensitive
- "!-": is NOT included, case insensitive
2020-05-05 20:43:45 +02:00
Sébastien Helleu 100440c8a1 core: restore signal "signal_sighup", and if eaten do not reload configuration 2020-04-21 22:34:42 +02:00
Sébastien Helleu d38701f99f tests: reduce number of iterations in PBKDF2 tests from 100000 to 1000
This speeds up tests by about 30%.
2020-04-19 10:56:25 +02:00
Sébastien Helleu 7fbd4c1079 tests: add missing include of locale.h
This fixes build of tests on FreeBSD.
2020-04-11 00:01:31 +02:00
Sébastien Helleu 9afe63b77a tests: fix name of tests 2020-04-10 23:43:27 +02:00
Sébastien Helleu 007fd03bc8 tests: add tests on calc functions
Functions tested:

- calc_operator_precedence
- calc_pop_value
- calc_list_free_cb
- calc_operation
- calc_operation_stacks
2020-04-08 21:38:51 +02:00
Sébastien Helleu a693125c81 tests: add missing include of stdio.h (issue #1469) 2020-04-07 22:20:11 +02:00
Sébastien Helleu d78ac827e9 core: fix memory leak in calculation of expression on FreeBSD (closes #1469)
The memory leak was caused by a bug in function setlocale on FreeBSD:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243195

The fix is the following:

* Remove the calls to setlocale when formatting the result.
* The function snprintf is still called, and then is now locale dependent,
  for example in French the decimal separator is a comma instead of a dot.
* A new function calc_sanitize_decimal_number is introduced to "sanitize" a
  decimal number: keep only the decimal separator (replace it by a dot) and
  remove any other separator found.

Unit tests are added on these functions:

* calc_sanitize_decimal_number
* calc_format_result
2020-04-07 21:37:48 +02:00
Sébastien Helleu dcd10657b1 tests: add tests on functions weecrypto_totp_generate and weecrypto_totp_validate 2020-03-05 22:21:48 +01:00
Sébastien Helleu dabf32f213 tests: add tests on functions weecrypto_hash and weecrypto_hash_pbkdf2 with NULL hash 2020-03-04 08:24:46 +01:00
Sébastien Helleu 4afaacd34e tests: add tests on function weecrypto_get_hash_algo 2020-03-03 21:29:44 +01:00
Sébastien Helleu 2d7829b2d5 core: require libgcrypt >= 1.7.0 for SHA3 algorithms 2020-03-02 21:49:30 +01:00
Sébastien Helleu 3157d1f06e api: add function crypto_hash_pbkdf2 2020-03-01 23:14:55 +01:00
Sébastien Helleu 9a6a27ef58 core: move crypto functions to wee-crypto.c, rename API function string_hash to crypto_hash 2020-03-01 21:24:27 +01:00
Sébastien Helleu c4ef3d6c2e core: merge functions string_hash_binary and string_hash into a single function string_hash 2020-03-01 16:41:28 +01:00
Sébastien Helleu 1ae2591458 core: add function secure_hash_pbkdf2 2020-03-01 14:26:24 +01:00
Sébastien Helleu 7449bc8827 core: add support of CRC32 algorithm in hash functions 2020-02-29 21:12:13 +01:00
Sébastien Helleu 410a5b341f api: add functions string_hash_binary and string_hash 2020-02-29 21:02:42 +01:00
Sébastien Helleu 600c43dcf5 tests: add tests on function secure_derive_key 2020-02-29 15:46:25 +01:00
Sébastien Helleu e2135fc3eb core: add functions to compute binary/hex hash of data 2020-02-29 15:46:25 +01:00
Sébastien Helleu 84648a5cd8 tests: add eval tests with debug enabled 2020-02-04 20:56:59 +01:00
Sébastien Helleu f76a5a8b57 tests: add unit tests on function util_file_get_content 2020-02-03 21:39:06 +01:00
Sébastien Helleu 3edae5af86 tests: add unit tests on function util_get_time_diff 2020-02-02 13:58:35 +01:00
Sébastien Helleu d2dda92daf tests: add eval tests with hdata variables of different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu b7c09ed084 tests: add eval tests on conditions with text after closing parenthesis 2020-01-27 23:04:24 +01:00
Sébastien Helleu a6a6fb74c2 tests: add eval tests on conditions with leading and trailing spaces (ignored) 2020-01-27 23:04:24 +01:00
Sébastien Helleu 2839dc7ddf tests: add eval tests on "regex not matching" comparison 2020-01-27 23:04:24 +01:00
Sébastien Helleu 0975c407e0 tests: add eval tests with hdata list name and pointer 2020-01-27 23:04:24 +01:00
Sébastien Helleu 201b4da169 tests: add eval tests with buffer local variables 2020-01-27 23:04:24 +01:00
Sébastien Helleu 8107b5d162 tests: add eval tests on options with different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu dd13393896 tests: add eval test with empty value for "date:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 70f0c81a2c tests: add eval tests with invalid values for "modifier:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 6d9a247df3 tests: add eval tests with invalid values for "repeat:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 1914ceb74f tests: add eval tests with invalid values for "cut:" and "cutscr:" 2020-01-27 23:04:22 +01:00
Sébastien Helleu 34bb43379a tests: add eval test with invalid value for "hide:" 2020-01-27 21:21:01 +01:00
Sébastien Helleu 070e86bd6e tests: add eval test with invalid regex group 2020-01-27 21:17:17 +01:00
Sébastien Helleu 1d77b9742e tests: add evaluation tests with ternary operator and escape of prefix ("$") 2020-01-27 21:09:54 +01:00
Sébastien Helleu d91d1ebb8c tests: add other calc tests with multiple operators
The order of operators are different from the initial test, so this increases
the code coverage in wee-calc.c.
2020-01-27 20:54:23 +01:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu e612e63140 core: fix evaluation of condition with nested "if" (closes #1434) 2019-12-18 21:22:36 +01:00
Sébastien Helleu 8fc8f728d4 core: add reverse of string for screen in evaluation of expressions with "revscr:" 2019-10-12 20:14:36 +02:00
Sébastien Helleu 88aa82d672 core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60) 2019-10-06 09:13:35 +02:00
Sébastien Helleu 3a356f109f core: add power operator "**" in calc expressions (issue #997) 2019-09-24 21:03:56 +02:00
Sébastien Helleu 7d795c4d53 core: fix wrong results with the unary minus in calc expressions 2019-09-24 20:49:48 +02:00
Sébastien Helleu e1a4612797 core: ignore color codes in ${length:xxx} and ${lengthscr:xxx} 2019-09-21 13:54:36 +02:00
Sébastien Helleu dcfc4e8ed5 core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions 2019-09-21 07:56:21 +02:00
Sébastien Helleu 997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Tobias Stoeckmann f7b84fcc67 Fixed segfault during excessive evaluation.
It is possible to trigger a segmentation fault while processing
an evaluation of repeating string. On a Linux 64 bit system,
enter this (or adjust arguments for 32 bit accordingly):

/eval -n ${repeat:1073741824,----}

It will overflow an integer calculation because int instead of
size_t is used. Proper check of int limitations fixes this issue.

I haven't changed this specific piece of code to size_t because it
would crash in other parts of the code tree instead. For now, int
is a limitating factor when it comes to strings (and should be
enough for sane use cases).

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-09-17 21:26:52 +02:00
Sébastien Helleu 7f62985f89 core: use fixed-width integer for computing hashtable DJB2 key hash (closes #1394) 2019-08-19 23:29:22 +02:00