summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-26Merge pull request #917 from Nordix/stack-alloc-dict-iterMichael Grunder
Stack allocate dict iterators
2021-01-26Handle OOM during async command callback registrationBjorn Svensson
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-25Stack allocate dict iteratorsBjorn Svensson
Replacing the get & release functions with an initiation function. Simplifies the code and will make sure we run subscription callbacks in OOM scenarios.
2020-12-12Tiny formatting changes + suppress implicit memcpy warningmichael-grunder
2020-12-12Removed 2 typecastsAdamKorcz
2020-12-11Added fuzzerAdamKorcz
2020-11-15Merge pull request #896 from ayeganov/bugfix/ssl_leakMichael Grunder
Free SSL object when redisSSLConnect fails
2020-11-10Free SSL object when redisSSLConnect failsAleksandr Yeganov
2020-10-27Merge pull request #894 from jcohen02/fix/issue893Michael Grunder
Updating SSL connection example in README
2020-10-27Updating SSL connection exampleJeremy Cohen
2020-10-18Merge pull request #889 from redis/wincertMichael Grunder
Add support for Wincert CA store in Windows
2020-10-18Formattingmichael-grunder
2020-10-18Merge pull request #874 from masariello/position-independent-codeMichael Grunder
Enable position-independent code, and add PDB files to packages for MSVC builds
2020-10-18Merge pull request #888 from michael-grunder/nil-push-invalidationMichael Grunder
Fix handling of NIL invalidation messages.
2020-10-17Fix handling of NIL invalidation messages.michael-grunder
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-12Merge pull request #885 from gkorland/patch-1Michael Grunder
clean a warning, remvoe empty else block
2020-10-12clean a warning, remvoe empty else blockGuy Korland
2020-09-27Merge pull request #881 from timgates42/bugfix_typo_terminatedMichael Grunder
docs: Fix simple typo, termined -> terminated
2020-09-26docs: Fix simple typo, termined -> terminatedTim Gates
There is a small typo in sds.c. Should read `terminated` rather than `termined`.
2020-09-23Copy error to redisAsyncContext on timeoutshiyuge
2020-09-09add pdb files to packages for MSVC buildsAlessio M
2020-09-09Add d suffix to debug libraries so that can packaged together with optimized ↵Alessio M
builds (Release, RelWithDebInfo, etc)
2020-09-09Enable position-independent codeAlessio M
2020-09-08Add support for system CA certificate store on WindowsAlessio M
2020-09-07Remove whitespacemichael-grunder
2020-09-07fixed issue with unit test linking on windows with SSLAlessio M
2020-09-04Merge branch 'master' of github.com:redis/hiredisAlessio M
2020-08-31Merge pull request #870 from michael-grunder/cmake-c99Michael Grunder
Explicitly set c99 in CMake
2020-08-28Explicitly set c99 in CMakemichael-grunder
See #869
2020-08-20Merge pull request #868 from michael-grunder/fix-sockaddr-typoMichael Grunder
Fix sockaddr typo
2020-08-20Fix sockaddr typomichael-grunder
Fixes #867
2020-08-07Don't use non-installed win32.h helper in examples (#863)Michael Grunder
See: #862
2020-08-03Merge tag 'v1.0.0'michael-grunder
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-03Prepare for v1.0.0 GAmichael-grunder
2020-07-31Define a no op assert if we detect NDEBUG (#861)Michael Grunder
Addresses #642
2020-07-31Use development specific versions in mastermichael-grunder
Avoids issues like #860
2020-07-31We can run SSL tests everywhere except mingw/Windows (#859)Michael Grunder
2020-07-30Remove extra whitespace (#858)Michael Grunder
2020-07-30Keep libev's code style (#857)lijiageng
2020-07-29Update notes preparing for v1.0.0-rc1michael-grunder
2020-07-29Move SSL management to a distinct private pointer. (#855)Michael Grunder
We need to allow our users to use redisContext->privdata as context for any RESP3 PUSH messages, which means we can't use it for managing SSL connections. Bulletpoints: * Create a secondary redisContext member for internal use only called privctx and rename the redisContextFuncs->free_privdata accordingly. * Adds a `free_privdata` function pointer so the user can tie allocated memory to the lifetime of a redisContext (like they can already do with redisAsyncContext) * Enables SSL tests in .travis.yml
2020-07-26Minor refactor for scheduling an async timer. (#854)Michael Grunder
Small change to the logic introduced in #839
2020-07-26add a command_timeout to redisContextOptions (#839)valentinogeron
Add an additional timeout so the user has a convenient way of controlling distinct connect and command timeouts
2020-07-22Add static library target and cpack supportmasariello
2020-07-21Fix a static analysis false positivemichael-grunder
Static analyzer's can't tell that hi_calloc is calloc-like, and report a potential null pointer dereference. This isn't possible but it's probably smarter to make the test anyway in the event code changes.
2020-07-20Move include to sockcompat.h to maintain style (#850)Michael Grunder
See #848
2020-07-20fix windows compiling with mingw (#848)Malizia R
2020-07-19Remove erroneous tag and add license to push example (#849)Michael Grunder
2020-07-19Resp3 oob push support (#841)Michael Grunder
Proper support for RESP3 PUSH messages. By default, PUSH messages are now intercepted and the reply memory freed. This means existing code should work unchanged when connecting to Redis >= 6.0.0 even if `CLIENT TRACKING` were then enabled. Additionally, we define two callbacks users can configure if they wish to handle these messages in a custom way: void redisPushFn(void *privdata, void *reply); void redisAsyncPushFn(redisAsyncContext *ac, void *reply); See #825
2020-07-10Some Windows quality of life improvments. (#846)Michael Grunder
* Don't try to ignore SIGPIPE in Windows (it doesn't exist). * Add an include to our win32.h compatibility header. * Enable building examples on Travis in Windows. See #831