Age | Commit message (Collapse) | Author |
|
* 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
|
|
It appears that _WIN32 is always defined by MSVC whereas WIN32 may not
be, depending on configuration.
|
|
* Switch to memurai for Windows tests
* Switch to macports from brew.
|
|
Co-authored-by: Omri Steiner <omri@insoundz.com>
|
|
When connecting with a timeout, we shouldn't also call `redisSetTimeout` which will implement a timeout for commands.
See related issue #722
|
|
Fix overflow bug in `sdsrange`
|
|
|
|
|
|
|
|
|
|
|
|
Using `strdup` as a struct member causes issues in older gcc
|
|
|
|
* Adds an indirection to every allocation/deallocation to allow users to
plug in ones of their choosing (use custom functions, jemalloc, etc).
* Gracefully handle OOM everywhere in hiredis. This should make it possible
for users of the library to have more flexibility in how they handle such situations.
* Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent
a possible overflow when transferring the task elements into a `redisReply`.
* Adds a configurable `max elements` member to `redisReader` that defaults to
2^32 - 1. This can be set to "unlimited" by setting the value to zero.
|
|
Fixes #815
|
|
Standard function available and on most platforms uses a lookup table and not
a check with 3 ranges.
|
|
Pull RESP3 verbatim string handling from Redis
Fixes #802
|
|
* Fix missing SSL build/install options.
* Use different build commands for non-Linux linkers.
* Add missing install targets.
Fixes #809
|
|
Addresses #506
|
|
* Remove nested depth limitation.
This commit removes the nested multi-bulk depth limitation of 7.
We do this by switching to pointer to pointer indirection and
growing the stack in chunks when needed.
See: #794, #421
|
|
Add support for timeouts in our libev adapter.
See #795
|
|
See #757
|
|
* Respect overridden libdir in CMake
See: #767
|
|
* Fix linker problems when building with SSL enabled on OSX
* Corrects `HIREDIS_SSL=ON` to `USE_SSL=ON` so we test building with
SSL enabled on travis.
|
|
|
|
Explicitly call `uv_poll_init_socket` as that has slightly different semantics on Windows (and is identical to `uv_poll_init` on Linux).
http://docs.libuv.org/en/v1.x/poll.html#c.uv_poll_init_socket
|
|
* Add CMake package configuration so hiredis can be more easily included in
other projects.
* Fixes hiredis_ssl such that it compiles and works in windows
Co-authored-by: nrivera <nrivera@blizzard.com>
Co-authored-by: Nick <heronr1@gmail.com>
|
|
CMake: Set hiredis_ssl shared object version.
|
|
|
|
Unit tests in Windows and a Windows timeout fix
This commit gets our unit tests compiling and running on Windows as well as removes a duplicated `timeval` -> `DWORD` conversion logic in sockcompat.c
There are minor differences in behavior between Linux and Windows to note:
1. In Windows, opening a non-existent hangs forever in WSAPoll whereas
it correctly returns with a "Connection refused" error on Linux.
For that reason, I simply skip this test in Windows.
It may be related to this known issue:
https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/
2. Timeouts are handled slightly differently in Windows and Linux.
In Linux, we intentionally set REDIS_ERR_IO for connection
timeouts whereas in Windows we set REDIS_ERR_TIMEOUT. It may be
prudent to fix this discrepancy although there are almost certainly
users relying on the current behavior.
|
|
Fixes #778
|
|
|
|
|
|
|
|
Housekeeping
* Check for C++ (#758, #750)
* Include `alloc.h` in `make install` and `cmake`
* Add a `.def` file for Windows (#760)
* Include allocation wrappers referenced in adapter headers
* Fix minor syntax errors and typos in README
* Fix CI in Windows by properly escaping arguments (#761)
|
|
install alloc.h
|
|
alloc.h added in # 754
But not added to INSTALL_INCLUDE_PATH
|
|
Create allocation wrappers with a configurable OOM handler (defaults to abort()).
See #752, #747
|
|
fix spelling mistakes
|
|
|
|
Free the reply in redisGetReply when passed NULL
|
|
We currently perform a NULL check in redisGetReply and don't push the
reply back to the caller, but we don't free any reply meaning that this
will leak memory:
redisGetReply(context, NULL);
This change simply frees the reply if we were passed NULL.
Addresses #740
|
|
Adding an option to DISABLE_TESTS
|
|
Fix dead code in sslLogCallback relating to should_log variable.
|
|
Coverity scans found that the should_log logic in sslLogCallback
is not working as expected because the variable is not correctly
initialised (the conditional code before logging always sets the
value to 1, which it already is).
|
|
Fix typo in dict.c.
|
|
|
|
Useful when hiredis is used as a CMake dependency in other projects and
added via add_subdirectory(). With DISABLE_TESTS on, `make test` in the
parent project won't run hiredis tests.
|
|
|
|
Update README with SSL support.
|