summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-14[cmake] Fix cmake options position to support cmake toolchain (#1250)Uilian Ries
Move CMake `OPTION` values below where we declare the `PROJECT` so they are scoped within it. Signed-off-by: Uilian Ries <uilianries@gmail.com>
2024-01-31Fix review commentsgit-hulk
2024-01-31Add support of RESP3 attribute typegit-hulk
Currently, Redis DEBUG PROTOCOL 'attrib' command will return an attribute type, but hiredis doesn't support it yet. So it got the protocol type error: ``` 127.0.0.1:6379> DEBUG PROTOCOL attrib Error: Protocol error, got "|" as reply type byte ``` After apply this PR, it should reply: ``` 127.0.0.1:6379> DEBUG PROTOCOL attrib 1# "key-popularity" 1# 1) "key:123" 2) (integer) 90 ```
2024-01-30Fix memory leak.Mark Agranat
When redisLibuvAttach receives error from call to uv_poll_init_socket there is a memory leaked ptr of type redisLibuvEvents.
2024-01-21CMakeList: add option to not install NuGet packagingYann E. MORIN
The NuGet hiredis.target packaging description file is of no use on systems that are not using NuGet, like Linux systems, and the spurious presence of that file is not "clean". Add a cmake option to allow users to disable installation of that file. As some people may have relied on that file to be installed, continue to install it by default. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-01-21Fix macOS and FreeBSD CI runners.michael-grunder
* Update macOS to brew install redis@7.2 * Switch freeBSD runner to v1 and switch from running it on a macos runner to ubuntu.
2023-08-18Make redisEnableKeepAlive a no-op on AF_UNIX connections. (#1215)Michael Grunder
Fixes #1185
2023-08-18Integrating spellcheck into CI (#1218)Chayim
* Adding spellcheck testing * words * updating version of spellcheck action
2023-07-25Add a panic helper for non-assert aborts.michael-grunder
We merged a fix for a "maybe uninitialized" warning in #1209, but after merging there could actually have then been a double free. The reason is that when compiling with NDEBUG our assert macro becomes a no-op, meaning that execution would no longer stop after `assert(NULL)`. This commit just adds a simple panic macro which will execute regardless of whether NDEBUG is defined or not.
2023-07-25Document poll(2) logic changes.michael-grunder
See #1206, #1213
2023-07-25Retry poll(2) if we are intterupted.michael-grunder
This commit adds logic to retry our poll call when waiting for the connection to complete, in the event that we are interrupted by a signal. Additionally we do some simple bookkeeping to keep track of the overall timeout specified by the user. Fixes #1206
2023-07-14Fix a false positive warning of gcc 12+ -Werror=maybe-uninitializedV G
2023-07-13Allow disabling the -Werror flag.Romain Geissler
2023-07-13Bump development SONAME.michael-grunder
2023-07-12Version 1.2.0 (#1202)Chayim
Co-authored-by: Michael Grunder <michael.grunder@gmail.com>
2023-07-12Remove support in deprecated TLS versions 1.0 and 1.1 (#1205)Valentino Geron
2023-07-10Install major version symlink of shared objects.Yossi Gottlieb
This change addresses the issue discussed in #1202 and should make it possible in the future to update minor versions without requiring re-linking binaries.
2023-06-08Ensure functionality without _MSC_VER definitionwindyakin
2023-06-01Add a test for the TCP_USER_TIMEOUT option. (#1192)Michael Grunder
* Add a test for the TCP_USER_TIMEOUT option. * Explicitly set errno to ENOTSUP on unsupported OS's
2023-06-01Add -Werror as a default. (#1193)Yossi Gottlieb
2023-05-30CI: Update homebrew Redis version. (#1191)Yossi Gottlieb
Fixes cross-compilation QEMU CI tests * CI: Update homebrew Redis version. * CI: Try apt-get update as a workaround.
2023-05-30Fix a typo in b6a052f.Yossi Gottlieb
2023-05-29Helper for setting TCP_USER_TIMEOUT socket option (#1188)Viktor Söderqvist
* Implement redisSetTcpUserTimeout to set socket option TCP_USER_TIMEOUT * Documentation for redisSetTcpUserTimeout and some more undocumented functions Documentation for redisReconnect() and the setters of socket options: * redisKeepAlive() * redisEnableKeepAliveWithInterval() * redisSetTcpUserTimeout()
2023-04-24Add RedisModule adapter (#1182)Ozan Tezcan
* Add RedisModule adapter * add timer callback, add compatibility helper
2023-04-18Fix wincrypt symbols conflictJacky Hu
2023-04-15Add a test ensuring we don't clobber connection error.michael-grunder
Adds a test that we don't attempt to set any socket timeout if the connection itself failed. This issue only seemed to occur on macOS but it's nice to have a test for it.
2023-04-14Don't attempt to set a timeout if we are in an error state.michael-grunder
2023-04-14Fix typo in makefile.michael-grunder
2023-04-14Accept -nan per the RESP3 spec recommendation.Michael Grunder
For reference: https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md
2023-03-13Fix colliding option valuesViktor Söderqvist
2023-03-09Rework searching for opensslmichael-grunder
2023-03-09Attempt to find the correct path for openssl.Victor Polevoy
The installation path for openssl may vary depending on the way used for its installation and the macOS version. This commit attempts to find the correct path for openssl to use.
2023-03-07Allow specifying the keepalive intervalmichael-grunder
Fixes #1155
2023-03-07Cmake static or shared (#1160)autoantwort
* cmake: build either static or shared libs * cmake: allow to build non-PIC static libs * fix typo * cmake: add ALIAS targets * cmake: link to OpenSSL imported targets CMake imported targets are more robust * turn ENABLE_EXAMPLES to a CMake option * fix typo * install pdb files if shared * fix hiredis_ssl-config file * Fix more targets * CMake knows when to enable CMAKE_POSITION_INDEPENDENT_CODE * Restore setting of /Z7 * [ci] fix building of shared and static libs * Apply suggestions from code review Co-authored-by: Bjorn Svensson <bjorn.a.svensson@est.tech> * Make it possible to change name of exported target --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Bjorn Svensson <bjorn.a.svensson@est.tech>
2023-02-24Write a version file for the CMake package (#1165)Dominik Charousset
* Write a version file for the CMake package > If no VERSION is given, the PROJECT_VERSION variable is used. Since we set the project version to `${VERSION}`, we can safely skip passing it to `write_basic_package_version_file` as well.
2023-01-06fix typoTill Krüss
2022-12-27CMakeLists.txt: respect BUILD_SHARED_LIBSFabrice Fontaine
To allow building hiredis on toolchain without dynamic library support, respect standard cmake BUILD_SHARED_LIBS: https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-12-21Add sdevent adapterMichael de Lang
2022-11-15Bump dev version for the next release cycle.michael-grunder
2022-11-14Prepare for v1.1.0 GAmichael-grunder
2022-11-14Add support for nan in RESP3 double (#1133)filipe oliveira
2022-11-12Add an example that calls redisCommandArgv (#1140)Michael Grunder
See #1138
2022-11-10CI updates (#1139)Bjorn Svensson
* Build CMake generated makefiles * Simplify and update checkout * Update CI workflow 'C/C++ CI' * Some corrections of spelling and naming. * Remove running on branch dev since not officially available.
2022-11-09fix flag referencedachui
2022-11-09Make freeing a NULL redisAsyncContext a no op.michael-grunder
This makes our behavior consistent with redisFree and freeReplyObject.
2022-11-09Update version in dev branch.michael-grunder
2022-11-06Prepare for v1.1.0-rc1michael-grunder
- Update changelog. - Bump version/soname defines.
2022-11-02CI fixes in preparation of releasemichael-grunder
- Upgrade to actions/checkout@v3 as node 12 is being phased out. - Perform a manual dnf refresh on RockyLinux during setup. - Switch to official cygwin/cygwin-install-action
2022-11-02Add author information to release-drafter template.michael-grunder
2022-10-26Update for mingw cross compilebit0fun
- Used lowercase for Mstcpip.h as mingw will not find the file otherwise