summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-05Merge pull request #632 from Mic92/patch-1Mark Nunberg
Makefile: use predefined AR
2018-12-05Fix regression when connecting with Unix sockets (#629)Mark Nunberg
2018-12-05Allow connections to unix socket in exampleMark Nunberg
To minimize code changes, a simple `u` (or UNIX, Unix, unix, etc -- as long as the first character is u or U) is used as a marker for the 'port' argument. In this case, the hostname is interpreted to be the path to the unix socket.
2018-12-04Makefile: use predefined ARJörg Thalheim
This allows to override it for cross compilation.
2018-11-30Merge pull request #624 from yossigo/fix/libuv-errorsMark Nunberg
Fix errors not propagating properly with libuv.h.
2018-11-30Merge pull request #628 from devnexen/freebsd_ut_fixMark Nunberg
FreeBSD build fix
2018-11-26FreeBSD build fixDavid Carlier
2018-11-04Fix errors not propagating properly with libuv.h.Yossi Gottlieb
2018-10-25Merge pull request #620 from hacst/patch-1Michael Grunder
Fix redisBufferRead documentation
2018-10-24Fix redisBufferRead documentationStefan Hacker
Referred to redisContextReadReply which I cannot find in this codebase nor the old redis-tools one. Presumably this meant to say redisGetReplyFromReader which is how redisBufferRead is used in this file. Could've also meant the interface function redisReaderGetReply.
2018-10-03Merge pull request #578 from mnunberg/connfixMark Nunberg
Proper error reporting for connect failures
2018-09-27Merge pull request #580 from charsyam/feature/fix-reallocMark Nunberg
fix common realloc mistake and add null check more
2018-09-26Merge pull request #614 from thomaslee/tom_cppflagsMark Nunberg
Add CPPFLAGS to REAL_CFLAGS
2018-09-26Add CPPFLAGS to REAL_CFLAGSTom Lee
2018-09-26Update changelog for 0.14.0michael-grunder
2018-09-25Skip NXDOMAIN test when using evil ISPsMark Nunberg
Some ISPs like to inject their own "Suggestions" page whenever you hit NXDOMAIN. This confuses Redis as well as addrinfo (black-holing the route).
2018-09-25Handle connection errors better in blocking mode as wellMark Nunberg
2018-09-25saddr should be addrlen bytesMark Nunberg
Not sizeof saddr.
2018-09-25Call connect(2) again for non-blocking connectMark Nunberg
This retrieves the actual error which occurred, as getsockopt is not always reliable in this regard.
2018-09-25Merge pull request #612 from thomaslee/tom_release_prepMark Nunberg
Prepare for the 0.14.0 release
2018-09-25Prepare for the 0.14.0 releaseTom Lee
SONAME bumped to 0.14 because we've broken ABI compatibility with 0.13.x
2018-09-24Merge pull request #610 from thomaslee/tom_static_string2llMark Nunberg
Make string2ll static to avoid conflict with redis
2018-09-24Make string2ll static to avoid conflict with redisTom Lee
See discussion on #609. This should also make it easier for redis to update the vendored/bundled hiredis (though not by much).
2018-05-31Use -dynamiclib instead of -shared on macOSRyan Schmidt
-dynamiclib is the correct documented flag to use to create dynamic libraries on macOS. Newer toolchains recognize -shared as a synonym of -dynamiclib but older toolchains don't.
2018-05-21Add Changelog entry about the integer parsing changesJustin Brewer
This should have been included in 93421f9d84868989ab0e401fb3be7b31c7a9c181 but was missed. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-20Don't overflow 32 bit machines in the tests!michael-grunder
2018-05-20Add an integer parsing heavy workload to throughput testingmichael-grunder
2018-05-20Use string2ll from Redismichael-grunder
This commit pulls string2ll from Redis (with permission from Antirez) as strtoll is 2-3x slower and even worse vs the original version in hiredis that didn't check for overflow at all. By using string2ll there is almost no measurable performance impact of overflow detection even in integer parsing heavy workloads (e.g. INCRBY commands).
2018-05-20Fix bulk and multi-bulk length truncationJustin Brewer
processMultiBulkItem truncates the value read from readLongLong, resulting in a corrupted state when the next item is read. createArray takes an int, so bound to INT_MAX. Inspection showed that processBulkItem had the same truncation issue. createString takes size_t, so bound to SIZE_MAX. This only has an effect on 32-bit platforms. A strict lower bound is also added, since negative lengths other than -1 are invalid according to RESP. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-19Properly detect integer parse errorsJustin Brewer
Badly formatted or out-of-range integers are now protocol errors. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-16Merge branch 'master' of github.com:redis/hiredismichael-grunder
2018-05-16Make sure we've got a path separator before the actual dylib namemichael-grunder
2018-05-16Merge remote-tracking branch 'ryandesign/install_name'michael-grunder
2018-05-15Merge pull request #596 from ryandesign/cp-pPRMichael Grunder
Use cp -pPR instead of cp -a
2018-05-14Use cp -pPR instead of cp -aRyan Schmidt
This should be equivalent but compatible with older versions of cp.
2018-05-14Use absolute install_nameRyan Schmidt
Fixes #437.
2018-05-13Merge remote-tracking branch 'justinbrewer/hiredis-pr1' into posix-build-fixesmichael-grunder
2018-05-09Attempted fix for Cygwin to expose getaddrinfo and friendsmichael-grunder
2018-05-09Merge remote-tracking branch 'hyjin/master'michael-grunder
2018-04-30Remove redundant NULL checksJustin Brewer
free(NULL) is a valid NOP. Most of the hiredis free functions behave the same way. redisReaderFree is updated to also be NULL-safe. There is one redundant NULL check at sds.c:1036, but it's left as is since sds is imported from upstream. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-04-30Remove redundant zero storesJustin Brewer
calloc is guaranteed to provide a zero-initialized buffer. There is no need to set fields to zero explicitly. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-04-30Fix a segfault on *BSDJustin Brewer
freeaddrinfo is not required by POSIX to be NULL-safe. OpenBSD will SIGSEGV. NetBSD will assert. FreeBSD up to 11.1 will SIGSEGV, while in future versions, it will be a silent NOP [1]. Commit d4b715f0aa97 ("Fix potential race in 'invalid timeout' tests") added a code path to _redisContextConnectTcp which calls freeaddrinfo(NULL), triggering the segfault. Put a NULL check around the call to freeaddrinfo. [1] - https://github.com/freebsd/freebsd/commit/e9167239034a1e475c3238f8d133ebf703424ee0 Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-04-30Drop __redis_strerror_rJustin Brewer
Since _GNU_SOURCE is now guaranteed to be unset, it is no longer necessary to support the GNU-specific version of strerror_r. Drop __redis_strerror_r from the header, and call strerror_r directly. This breaks any external users of this macro, but they shouldn't have been using it in the first place. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-04-28Strip down fmacros.hJustin Brewer
strerror_r and addrinfo require _POSIX_C_SOURCE >= 200112L, which is implied by _XOPEN_SOURCE >= 600. With the removal of AF_LOCAL usage, the only non-standard features being used are the TCP_KEEP* socket flags. _DARWIN_C_SOURCE is required to expose TCP_KEEPALIVE. Fall back to using _XOPEN_SOURCE 600 for all platforms, and additionally define _DARWIN_C_SOURCE for Darwin. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-04-28Use AF_UNIXJustin Brewer
AF_LOCAL is the old, non-standardized name for AF_UNIX. Just use AF_UNIX, rather than wrestling with platform specifics of AF_LOCAL definitions. Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-03-17fix common realloc mistake and add null check morecharsyam
2018-01-06Merge #569not-a-robot[bot]
569: Ibm aix fix r=badboy
2018-01-06Make it compile on IBM AIX systemsJan-Erik Rediger
Closes #422
2018-01-05Merge #568not-a-robot[bot]
568: Make XOPEN_SOURCE definition explicit per architecture r=badboy Fixes #441
2018-01-05Make XOPEN_SOURCE definition explicit per architectureJan-Erik Rediger
Fixes #441