1. 23 Dec, 2021 1 commit
    • zhenwei pi's avatar
      Makefile: move SSL options into a block and refine rules · f74b0818
      zhenwei pi authored
      
      
      Move SSL options into two blocks to make it easy to read:
        1, first part: SSL variables part
        1, second part: SSL building rules part
      and change global rules to make it easy to maintain. For the further
      step, it gets extensible to add another type.
      
      New version of the library building rule:
      	static: $(STLIBNAME) $(SSL_STLIB)
      	dynamic: $(DYLIBNAME) $(SSL_DYLIB)
      
      Compare with the orignal version:
      	dynamic: $(DYLIBNAME)
      	static: $(STLIBNAME)
      	ifeq ($(USE_SSL),1)
      	dynamic: $(SSL_DYLIBNAME)
      	static: $(SSL_STLIBNAME)
      	endif
      
      If we want to add a new type(Ex, RDMA), for the new version, we can
      do like this:
      	########### RDMA variables start ###############
      	.....
      	########### RDMA variables end   ###############
      
      	static: $(STLIBNAME) $(SSL_STLIB) $(RDMA_STLIB)
      	dynamic: $(DYLIBNAME) $(SSL_DYLIB) $(RDMA_DYLIB)
      
      	########### RDMA building rules start ###############
      	.....
      	########### RDMA building rules end   ###############
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      f74b0818
  2. 16 Dec, 2021 1 commit
  3. 26 Oct, 2021 1 commit
    • Björn Svensson's avatar
      Add build options for enabling async tests · 648763c3
      Björn Svensson authored
      Asynchronous testcases that requires the event library `libevent`
      can be built and enabled by using the added build flags:
      - ENABLE_ASYNC_TESTS when using CMake
      - TEST_ASYNC when using Make
      
      The async tests are disabled by default to avoid adding new requirements,
      but the testcases are built and run in CI.
      648763c3
  4. 21 Oct, 2021 1 commit
    • Bjorn Svensson's avatar
      Correcting the build target `coverage` for enabled SSL (#1009) · c98c6994
      Bjorn Svensson authored
      * Exclude includes from /usr in coverage reporting
      
      * Correct build target `coverage` for enabled ssl
      
      `USE_SSL=1 make coverage` will now build the test binary with the
      forwarded define HIREDIS_TEST_SSL. This avoids inconsistency between
      built test binary and the testrunner `test.sh`.
      This enables test coverage measurements for SSL too.
      c98c6994
  5. 03 Oct, 2021 1 commit
  6. 20 Jul, 2020 1 commit
    • Michael Grunder's avatar
      Resp3 oob push support (#841) · 2e7d7cba
      Michael Grunder authored
      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
      2e7d7cba
  7. 22 May, 2020 1 commit
    • Michael Grunder's avatar
      Allow users to replace allocator and handle OOM everywhere. (#800) · 8e0264cf
      Michael Grunder authored
      * 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.
      8e0264cf
  8. 19 May, 2020 1 commit
  9. 23 Apr, 2020 1 commit
  10. 13 Apr, 2020 1 commit
  11. 29 Jan, 2020 1 commit
    • akichan's avatar
      install alloc.h · 3ae47397
      akichan authored
      alloc.h added in # 754
      But not added to INSTALL_INCLUDE_PATH
      3ae47397
  12. 28 Jan, 2020 1 commit
  13. 16 Sep, 2019 1 commit
    • Yossi Gottlieb's avatar
      Add SSL mode tests. · d952ed87
      Yossi Gottlieb authored
      This repeats all existing tests in SSL mode, but does not yet provide
      SSL-specific tests.
      d952ed87
  14. 01 Sep, 2019 1 commit
  15. 29 Aug, 2019 2 commits
  16. 01 Apr, 2019 1 commit
  17. 21 Feb, 2019 1 commit
  18. 20 Feb, 2019 9 commits
  19. 04 Dec, 2018 1 commit
  20. 26 Sep, 2018 1 commit
  21. 31 May, 2018 1 commit
    • Ryan Schmidt's avatar
      Use -dynamiclib instead of -shared on macOS · a65537a6
      Ryan Schmidt authored
      -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.
      a65537a6
  22. 16 May, 2018 1 commit
  23. 14 May, 2018 2 commits
  24. 28 Dec, 2017 1 commit
    • Dmitri Vorobiev's avatar
      Strip compiler options from the CC variable · 12a9d1a3
      Dmitri Vorobiev authored
      
      
      The Makefile checks validity of the compiler command in the CC
      variable by feeding the contents of that variable to the `type'
      utility. Some environments include compiler options in the CC
      variable such as architecture specific tuning flags. For such
      cases it is necessary to first strip everything except the
      command itself from the contents of the CC variable prior to
      checking the command with the type utility, which is what this
      patch is introducing. We use shell parameter expansion mechanism
      for this purpose.
      Signed-off-by: default avatarDmitri Vorobiev <dmitri.vorobiev@movial.com>
      12a9d1a3
  25. 27 Dec, 2017 1 commit
    • Dmitri Vorobiev's avatar
      Remove $(ARCH) expansion from the Makefile · 3238cf4f
      Dmitri Vorobiev authored
      
      
      Some compilation environments (such as Yocto) define the ARCH
      environment variable to indicate the target architecture. For
      such enviroments, hiredis build fails, because the expanded
      $(ARCH) variable in the Makefile gets erroneously interpreted
      as an argument to the `-ggdb' command line option during the
      compilation stage or as an input file name during the linking
      stage.
      
      This patch removes $(ARCH) expansions from the Makefile. This
      doesn't harm cross-compilation, the latter goes fine with the
      properly assigned CC environment variable. For native builds,
      this patch does not imply any changes.
      Signed-off-by: default avatarDmitri Vorobiev <dmitri.vorobiev@movial.com>
      3238cf4f
  26. 29 Nov, 2017 1 commit
  27. 30 Oct, 2017 1 commit
  28. 09 Oct, 2016 1 commit
    • Trustfarm-heart's avatar
      Build error patch with glib-2.0 · 06eedd8a
      Trustfarm-heart authored
      In case of some glib-2.0 linker error ,
      make examples 
      can't link with glib2.0,  in this case -lglib-2.0  to after includes and move to last will solve the issues.
      06eedd8a
  29. 20 Apr, 2016 1 commit
    • Jan-Erik Rediger's avatar
      fix: Rename DEBUG to DEBUG_FLAGS · acf89500
      Jan-Erik Rediger authored
      This avoids issues with environments where DEBUG is set to an arbitrary
      value to force debug mode in other tools.
      
      BREAKING CHANGE: This breaks builds that explicitely set `DEBUG` to
                       some value (even the empty value).
                       To get back the old behaviour change the `DEBUG_FLAGS`
                       variable now.
      acf89500
  30. 27 Jul, 2015 1 commit