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