Alex Smith
c6646cb192
read: Ensure no invalid '\r' or '\n' in simple status/error strings
2021-02-25 21:25:17 -08:00
Alex Smith
e43061156c
read: Additional validation and test case for RESP3 double
...
This ensures that malformed RESP3 double messages that include an
invalid null byte are not parsed as valid.
2021-02-25 21:25:17 -08:00
Alex Smith
c8adea4024
redisReply: Fix parent type assertions during double, nil, bool creation
...
Per RESP3, push messages are able to contain exactly what array
messages can contain (that is, any other type).
2021-02-25 21:25:17 -08:00
Alex Smith
ff73f1f9e7
redisReply: Explicitly list nil and bool cases in freeReplyObject() switch.
2021-02-25 21:25:17 -08:00
Alex Smith
0f92518847
test: Add test case for RESP3 set
2021-02-25 21:25:17 -08:00
Alex Smith
33c06dd503
test: Add test case for RESP3 map
2021-02-25 21:25:17 -08:00
Alex Smith
397fe26301
read: Use memchr() in seekNewline() instead of looping over entire string
2021-02-25 21:25:17 -08:00
Alex Smith
81c48a9821
test: Add test cases for RESP3 bool
2021-02-25 21:25:17 -08:00
Alex Smith
51e693f4fd
read: Add additional RESP3 bool validation
...
RESP3 bools should be only one of "#t\r\n" or "#f\r\n". We also allow
capital 'T' and 'F' to be lenient.
2021-02-25 21:25:17 -08:00
Alex Smith
790b4d3b4d
test: Add test cases for RESP3 nil
2021-02-25 21:25:17 -08:00
Alex Smith
d8899fbc19
read: Add additional RESP3 nil validation
...
RESP3 nil should consist of "_\r\n" and nothing else.
2021-02-25 21:25:17 -08:00
Alex Smith
96e8ea6110
test: Add test cases for infinite and NaN doubles
2021-02-25 21:25:17 -08:00
Alex Smith
f913e9b997
read: Fix double validation and infinity parsing
...
The ',' protocol byte gets removed in processItem(), so it should not
be compared against in processLineItem().
strtod() allows multiple representations of infinity and NaN that are
not RESP3 compliant. Since we explicitly check for the two compliant
infinity cases, strtod() should only return finite values.
2021-02-25 21:25:17 -08:00
Alex Smith
8039c7d26c
test: Add test case for doubles
2021-02-25 21:25:17 -08:00
Alex Smith
49539fd1a7
redisReply: Fix - set len in double objects
2021-02-25 21:25:17 -08:00
Michael Grunder
53a8144c81
Merge pull request #924 from cheese1/master
...
http -> https
2021-02-17 10:08:35 -08:00
cheese1
9390de006d
http -> https
2021-02-17 16:15:45 +01:00
Michael Grunder
7d99b56356
Merge pull request #917 from Nordix/stack-alloc-dict-iter
...
Stack allocate dict iterators
2021-01-26 11:20:25 -08:00
Bjorn Svensson
4bba72103c
Handle OOM during async command callback registration
...
Unless the callback is pushed to the list it will trigger an assert
in redisProcessCallbacks() when the response arrives.
This change let the user get an early error instead,
available in the async context directly.
2021-01-26 09:57:19 +01:00
Bjorn Svensson
920128a260
Stack allocate dict iterators
...
Replacing the get & release functions with an initiation
function. Simplifies the code and will make sure we
run subscription callbacks in OOM scenarios.
2021-01-25 16:19:42 +01:00
michael-grunder
297ecbecb7
Tiny formatting changes + suppress implicit memcpy warning
2020-12-12 11:56:35 -08:00
AdamKorcz
f746a28e71
Removed 2 typecasts
2020-12-12 19:26:04 +00:00
AdamKorcz
940a04f4dd
Added fuzzer
2020-12-11 14:03:42 +00:00
Michael Grunder
e4a200040a
Merge pull request #896 from ayeganov/bugfix/ssl_leak
...
Free SSL object when redisSSLConnect fails
2020-11-15 09:56:10 -08:00
Aleksandr Yeganov
aefef8987f
Free SSL object when redisSSLConnect fails
2020-11-10 11:59:41 -05:00
Michael Grunder
e3f88ebcf8
Merge pull request #894 from jcohen02/fix/issue893
...
Updating SSL connection example in README
2020-10-27 14:20:53 -07:00
Jeremy Cohen
308ffcab8d
Updating SSL connection example
2020-10-27 19:40:13 +00:00
Michael Grunder
297f6551da
Merge pull request #889 from redis/wincert
...
Add support for Wincert CA store in Windows
2020-10-18 14:55:42 -07:00
michael-grunder
e7dda97859
Formatting
2020-10-18 14:24:22 -07:00
Michael Grunder
f44945a0af
Merge pull request #874 from masariello/position-independent-code
...
Enable position-independent code, and add PDB files to packages for MSVC builds
2020-10-18 14:04:02 -07:00
Michael Grunder
74e78498cf
Merge pull request #888 from michael-grunder/nil-push-invalidation
...
Fix handling of NIL invalidation messages.
2020-10-18 13:25:45 -07:00
michael-grunder
b9b9f446fe
Fix handling of NIL invalidation messages.
...
When CLIENT TRACKING is enabled, Redis will send an invalidation message
with a NIL payload to all tracking clients after a FLUSHDB is executed.
We didn't account for REDIS_REPLY_PUSH being a valid parent object to a
NIL payload, and were failing an assertion.
Additionally this commit adds a regression test for the logic.
2020-10-17 19:08:05 -07:00
Michael Grunder
acc917548d
Merge pull request #885 from gkorland/patch-1
...
clean a warning, remvoe empty else block
2020-10-12 15:47:14 -07:00
Guy Korland
b086f763e7
clean a warning, remvoe empty else block
2020-10-12 17:15:29 +03:00
Michael Grunder
b47fae4e70
Merge pull request #881 from timgates42/bugfix_typo_terminated
...
docs: Fix simple typo, termined -> terminated
2020-09-27 21:04:58 -07:00
Tim Gates
f989670e59
docs: Fix simple typo, termined -> terminated
...
There is a small typo in sds.c.
Should read `terminated` rather than `termined`.
2020-09-26 20:58:09 +10:00
shiyuge
773d6ea8a7
Copy error to redisAsyncContext on timeout
2020-09-23 15:46:20 +08:00
Alessio M
e35300a668
add pdb files to packages for MSVC builds
2020-09-09 18:11:05 +01:00
Alessio M
dde6916b42
Add d suffix to debug libraries so that can packaged together with optimized builds (Release, RelWithDebInfo, etc)
2020-09-09 17:27:28 +01:00
Alessio M
3b68b5018e
Enable position-independent code
2020-09-09 11:55:42 +01:00
Alessio M
6693863f4c
Add support for system CA certificate store on Windows
2020-09-08 20:09:39 +01:00
michael-grunder
2a5a57b90a
Remove whitespace
2020-09-07 17:47:50 -07:00
Alessio M
1b40ec5096
fixed issue with unit test linking on windows with SSL
2020-09-07 23:27:45 +01:00
Alessio M
d7b1d21e80
Merge branch 'master' of github.com:redis/hiredis
2020-09-04 09:31:47 +01:00
Michael Grunder
fb0e6c0dd9
Merge pull request #870 from michael-grunder/cmake-c99
...
Explicitly set c99 in CMake
2020-08-31 10:29:37 -07:00
michael-grunder
13a35bdb64
Explicitly set c99 in CMake
...
See #869
2020-08-28 12:35:20 -07:00
Michael Grunder
bea137ca94
Merge pull request #868 from michael-grunder/fix-sockaddr-typo
...
Fix sockaddr typo
2020-08-20 18:38:16 -07:00
michael-grunder
bd6f86eb6b
Fix sockaddr typo
...
Fixes #867
2020-08-20 17:58:23 -07:00
Michael Grunder
48696e7e5e
Don't use non-installed win32.h helper in examples ( #863 )
...
See: #862
2020-08-07 10:26:38 -07:00
michael-grunder
faa1c4863a
Merge tag 'v1.0.0'
...
Release of v1.0.0
Hiredis v1.0.0 marks the first stable release of Hiredis and introduces
RESP3 support, SSL connections, allocator injection, better Windows support,
and more.
IMPORTANT: There are breaking changes in this release meaning your code
will need to be recompiled and may need small changes. The exact
details of the breaking changes can be found in README.md.
CHANGELOG.md has a detailed list of changes between v0.14.1 and v1.0.0.
~~~
Thank you to everyone who contriubuted to the project by submitting PRs,
reporting bugs, or helping answer people's questions.
And a special thank you to the following people who contributed at least
five lines of code to this release (sorted by lines contributed) \o/
Michael Grunder, Yossi Gottlieb, Mark Nunberg, Marcus Geelnard, Justin Brewer,
Minun Dragonation, Omri Steiner, Sangmoon Yi, Jinjiazh, Odin Hultgren Van Der Horst,
Nick Rivera, Qi Yang, kevin1018
2020-08-03 12:00:32 -07:00