1. 05 Sep, 2022 1 commit
    • Michael Grunder's avatar
      Fix protocol error (#1106) · 79ae5ffc
      Michael Grunder authored
      
      
      Fix ProtocolError
      
      This commit attempts to fix hiredis such that a recoverable write error
      will be retried rather than throwing a hard error.
      
      Since our read/write functions are now behind function pointers, we
      specify semantically that a return value of < 0 is a hard error, 0 a
      recoverable error, and > 0 a success.
      
      Our default `redisNetRead` function was already doing something similar
      so this also improves code consistency.
      
      Resolves #961
      Co-authored-by: default avatarMaksim Tuleika <maksim.tuleika@appcast.io>
      79ae5ffc
  2. 02 Sep, 2022 2 commits
  3. 01 Sep, 2022 1 commit
  4. 30 Aug, 2022 1 commit
  5. 22 Dec, 2021 2 commits
  6. 07 Oct, 2021 1 commit
  7. 04 Oct, 2021 1 commit
  8. 11 Jul, 2021 1 commit
  9. 26 Feb, 2021 1 commit
  10. 21 Aug, 2020 1 commit
  11. 03 Aug, 2020 1 commit
  12. 31 Jul, 2020 1 commit
  13. 29 Jul, 2020 2 commits
    • michael-grunder's avatar
      Update notes preparing for v1.0.0-rc1 · a8534675
      michael-grunder authored
      a8534675
    • Michael Grunder's avatar
      Move SSL management to a distinct private pointer. (#855) · d8ff7238
      Michael Grunder authored
      We need to allow our users to use redisContext->privdata as context
      for any RESP3 PUSH messages, which means we can't use it for managing
      SSL connections.
      
      Bulletpoints:
      
      * Create a secondary redisContext member for internal use only called
        privctx and rename the redisContextFuncs->free_privdata accordingly.
      
      * Adds a `free_privdata` function pointer so the user can tie allocated
        memory to the lifetime of a redisContext (like they can already do
        with redisAsyncContext)
      
      * Enables SSL tests in .travis.yml
      d8ff7238
  14. 26 Jul, 2020 2 commits
  15. 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
  16. 07 Jun, 2020 1 commit
  17. 19 May, 2020 1 commit
  18. 28 Feb, 2020 1 commit
  19. 28 Jan, 2020 1 commit
  20. 01 Jan, 2020 1 commit
  21. 01 Sep, 2019 1 commit
  22. 29 Aug, 2019 1 commit
  23. 09 Aug, 2019 1 commit
    • Marcus Geelnard's avatar
      MinGW fix: Use _MSC_VER instead of _WIN32 where appropriate · 85fee256
      Marcus Geelnard authored
      Use _MSC_VER (instead of _WIN32) for things that are specific for
      Visual Studio.
      
      Also remove #include <winsock2.h> from hiredis.h, as it leaks too
      many symbols and defines into the global namespace, which is
      undesirable for a public interface header. Anyone who uses the
      the affected parts of the hiredis API needs to include the
      appropriate headers anyway in order to declare struct timeval
      variables.
      85fee256
  24. 04 Aug, 2019 1 commit
  25. 13 Apr, 2019 1 commit
  26. 01 Apr, 2019 2 commits
    • m's avatar
      Port network layer to Winsock · dc6d19b9
      m authored
      With this change, Hiredis builds with MinGW and runs on Windows.
      dc6d19b9
    • m's avatar
      Introduce a redisFD type · e84086cb
      m authored
      The redisFD type should be equal to the system native socket file
      desciptor type (for POSIX, this is a plain int).
      
      We also introduce the REDIS_INVALID_FD value, which maps to -1 on POSIX
      systems.
      e84086cb
  27. 21 Feb, 2019 1 commit
  28. 20 Feb, 2019 4 commits
  29. 26 Sep, 2018 1 commit
  30. 25 Sep, 2018 1 commit
  31. 01 May, 2018 1 commit
    • Justin Brewer's avatar
      Drop __redis_strerror_r · d1c1b668
      Justin Brewer authored
      
      
      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: default avatarJustin Brewer <jzb0012@auburn.edu>
      d1c1b668
  32. 22 Mar, 2017 1 commit