Commit Graph

755 Commits

Author SHA1 Message Date
Justin Brewer
4d00404b8f Update appveyor.yml to cmake
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
93261d465f Update .travis-ci.yml to use cmake
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
ebe1657c8f Obey HIREDIS_SONAME for shared library
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
7d38176bdb Call project() with parsed version string
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
58d0e28333 Enable make test
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
9ea7ddec0c Generate and install hiredis.pc
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:09 -05:00
Justin Brewer
edfab35cdc Install async.h
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:08 -05:00
Justin Brewer
0c57a083c7 Add ENABLE_EXAMPLES option, off by default
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20 05:01:08 -05:00
Mark Nunberg
bbad21f5ca Add examples to CMakeLists 2019-02-20 05:01:08 -05:00
Mark Nunberg
ead586a2cb Add CMake system. Initial commit
This provides a target to build a DSO, as well as the ability to install
it.
2019-02-20 05:01:08 -05:00
Mark Nunberg
c732240152
Merge pull request #644 from codehz/codehz-patch-1
Fix Invalid argument after redisAsyncConnectUnix
2019-01-28 08:57:19 -05:00
Code Hz
be6bb39fda
Fix Invalid argument after redisAsyncConnectUnix 2019-01-28 21:54:42 +08:00
Mark Nunberg
e6e5a2cba6
Merge pull request #632 from Mic92/patch-1
Makefile: use predefined AR
2018-12-05 07:48:28 -05:00
Mark Nunberg
088d1469b3 Fix regression when connecting with Unix sockets (#629) 2018-12-05 07:47:27 -05:00
Mark Nunberg
8633a2f32e Allow connections to unix socket in example
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-05 07:02:26 -05:00
Jörg Thalheim
2fa34e37af
Makefile: use predefined AR
This allows to override it for cross compilation.
2018-12-04 20:47:37 +00:00
Mark Nunberg
91289c81ee
Merge pull request #624 from yossigo/fix/libuv-errors
Fix errors not propagating properly with libuv.h.
2018-11-30 06:52:39 -05:00
Mark Nunberg
a7516ada53
Merge pull request #628 from devnexen/freebsd_ut_fix
FreeBSD  build fix
2018-11-30 06:50:55 -05:00
David Carlier
d9fe8bdf67 FreeBSD build fix 2018-11-26 16:20:51 +00:00
Yossi Gottlieb
9ce15c4b39 Fix errors not propagating properly with libuv.h. 2018-11-04 10:04:53 +02:00
Jean Flach
9ff1cc7826 Update README.md
Add note about using context->data to pass user data to connect and disconnect callbacks
2018-10-26 15:57:23 +02:00
Michael Grunder
970e5fa0a3
Merge pull request #620 from hacst/patch-1
Fix redisBufferRead documentation
2018-10-25 09:53:50 -07:00
Stefan Hacker
169fcc708b Fix redisBufferRead documentation
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-24 23:56:51 +02:00
Mark Nunberg
67036ef70c
Merge pull request #578 from mnunberg/connfix
Proper error reporting for connect failures
2018-10-03 06:53:42 -04:00
Mark Nunberg
747d78beaa
Merge pull request #580 from charsyam/feature/fix-realloc
fix common realloc mistake and add null check more
2018-09-27 07:07:00 -04:00
Mark Nunberg
273fae1dea
Merge pull request #614 from thomaslee/tom_cppflags
Add CPPFLAGS to REAL_CFLAGS
2018-09-26 22:35:38 -04:00
Tom Lee
3bcf286356 Add CPPFLAGS to REAL_CFLAGS 2018-09-26 13:25:24 -07:00
michael-grunder
fbf2d037e7 Update changelog for 0.14.0 2018-09-26 12:17:25 -07:00
Mark Nunberg
3cb4fb2395 Skip NXDOMAIN test when using evil ISPs
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-25 20:51:34 -04:00
Mark Nunberg
cbe4ae63ae Handle connection errors better in blocking mode as well 2018-09-25 20:21:40 -04:00
Mark Nunberg
5e6bbf8c60 saddr should be addrlen bytes
Not sizeof saddr.
2018-09-25 20:21:40 -04:00
Mark Nunberg
49974c9359 Call connect(2) again for non-blocking connect
This retrieves the actual error which occurred, as getsockopt is not
always reliable in this regard.
2018-09-25 20:21:37 -04:00
Mark Nunberg
685030652c
Merge pull request #612 from thomaslee/tom_release_prep
Prepare for the 0.14.0 release
2018-09-25 18:59:34 -04:00
Tom Lee
29c82b728c Prepare for the 0.14.0 release
SONAME bumped to 0.14 because we've broken ABI compatibility with 0.13.x
2018-09-25 15:48:07 -07:00
Mark Nunberg
d153c1f3c0
Merge pull request #610 from thomaslee/tom_static_string2ll
Make string2ll static to avoid conflict with redis
2018-09-24 20:43:33 -04:00
Tom Lee
c3188bfb1f Make string2ll static to avoid conflict with redis
See discussion on #609. This should also make it easier for redis to
update the vendored/bundled hiredis (though not by much).
2018-09-24 16:14:08 -07:00
Ryan Schmidt
a65537a672 Use -dynamiclib instead of -shared on macOS
-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-31 02:52:45 -05:00
Justin Brewer
967027c881 Add Changelog entry about the integer parsing changes
This should have been included in
93421f9d84 but was missed.

Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-21 09:40:42 -07:00
Justin Brewer
300fc013c1 Add Changelog entry about the integer parsing changes
This should have been included in
93421f9d84 but was missed.

Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-21 11:00:52 -05:00
Justin Brewer
ef4256670f Update createArray to take size_t
This makes createArray consistent with createString, which also takes
size_t. Bounds-check and unit tests are updated to allow up to
min(SIZE_MAX,LLONG_MAX).

Changelog is updated to mention this API break.

Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-21 10:49:30 -05:00
michael-grunder
33a36dc25b Don't overflow 32 bit machines in the tests! 2018-05-20 12:34:20 -07:00
michael-grunder
60f622b892 Add an integer parsing heavy workload to throughput testing 2018-05-20 11:57:21 -07:00
michael-grunder
7bef042c03 Use string2ll from Redis
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-20 10:44:19 -07:00
Justin Brewer
1091975857 Fix bulk and multi-bulk length truncation
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-20 09:07:21 -07:00
Justin Brewer
93421f9d84 Properly detect integer parse errors
Badly formatted or out-of-range integers are now protocol errors.

Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2018-05-19 10:48:14 -07:00
michael-grunder
dbde4f68cf Merge branch 'master' of github.com:redis/hiredis 2018-05-16 09:57:40 -07:00
michael-grunder
9d3b4ec703 Make sure we've got a path separator before the actual dylib name 2018-05-16 09:08:00 -07:00
michael-grunder
03938d7ad2 Merge remote-tracking branch 'ryandesign/install_name' 2018-05-16 09:01:21 -07:00
Michael Grunder
c5cb456421
Merge pull request #596 from ryandesign/cp-pPR
Use cp -pPR instead of cp -a
2018-05-15 18:16:12 -07:00
Ryan Schmidt
0e9af8acb6
Use cp -pPR instead of cp -a
This should be equivalent but compatible with older versions of cp.
2018-05-14 17:37:14 -05:00