1. 29 Dec, 2019 2 commits
    • antirez's avatar
      Inline protocol: handle empty strings well. · 0f28ea16
      antirez authored
      This bug is from the first version of Redis. Probably the problem here
      is that before we used an SDS split function that created empty strings
      for additional spaces, like in "SET    foo          bar".
      AFAIK later we replaced it with the curretn sdssplitarg() API that has
      no such a problem. As a result, we introduced a bug, where it is no
      longer possible to do something like:
      
          SET foo ""
      
      Using the inline protocol. Now it is fixed.
      0f28ea16
    • antirez's avatar
      00e5fefe
  2. 19 Dec, 2019 1 commit
  3. 18 Dec, 2019 6 commits
  4. 17 Dec, 2019 11 commits
  5. 16 Dec, 2019 1 commit
  6. 13 Dec, 2019 1 commit
  7. 12 Dec, 2019 5 commits
  8. 11 Dec, 2019 2 commits
  9. 09 Dec, 2019 2 commits
  10. 05 Dec, 2019 2 commits
    • Eran Liberty's avatar
      - memcpy(&id,ri.key,ri.key_len); · 08c3fe80
      Eran Liberty authored
      +        memcpy(&id,ri.key,sizeof(id));
      
      The memcpy from the key to the id reliease on the fact that this key
      *should* be 8 bytes long as it was entered as such a few lines up the
      code.
      
      BUT if someone will change the code to the point this is no longer true,
      current code can trash the stack which makes debugging very hard
      while this fix will result in some garbage id, or even page fault.
      Both are preferable to stack mangaling.
      08c3fe80
    • antirez's avatar
      2271cf03
  11. 03 Dec, 2019 1 commit
  12. 02 Dec, 2019 2 commits
  13. 01 Dec, 2019 1 commit
  14. 29 Nov, 2019 1 commit
  15. 28 Nov, 2019 2 commits
    • Oran Agra's avatar
      Converting more configs to use generic infra, and moving defaults to config.c · 18e72c5c
      Oran Agra authored
      Changes in behavior:
      - Change server.stream_node_max_entries from int64_t to long long, so that it can be used by the generic infra
      - standard error reply instead of "repl-backlog-size must be 1 or greater" and such
      - tls-port and a few TLS booleans were readable (config get) even when USE_OPENSSL was off (now they aren't)
      - syslog-enabled, syslog-ident, cluster-enabled, appendfilename, and supervised didn't have a get (now they do)
      - pidfile was initialized to NULL in InitServerConfig but had CONFIG_DEFAULT_PID_FILE in rewriteConfig (so the real default was "", but rewrite would cause it to be set), fixed the rewrite.
      - TLS config in server.h was uninitialized (if no tls config args were provided)
      
      Adding test for sanity and coverage
      18e72c5c
    • Oran Agra's avatar
      More improvements and fixes to generic config infra · 28beb05a
      Oran Agra authored
      - Adding is_valid_fn and update_fn, both return 1 for success and 0 for failure with an optional error message.
      - Bugfix in handling boundary check of unsigned numeric types (was boundaries as signed)
      - Adding more numeric types to generic mechanism: uint, ulonglong, long, time_t, off_t
      - More verbose error replies ("argument must be between" in out of range CONFIG SET (like config file parsing)
      28beb05a