1. 04 Oct, 2021 1 commit
    • Oran Agra's avatar
      Fix ziplist and listpack overflows and truncations (CVE-2021-32627, CVE-2021-32628) · 6facfb7a
      Oran Agra authored
      - fix possible heap corruption in ziplist and listpack resulting by trying to
        allocate more than the maximum size of 4GB.
      - prevent ziplist (hash and zset) from reaching size of above 1GB, will be
        converted to HT encoding, that's not a useful size.
      - prevent listpack (stream) from reaching size of above 1GB.
      - XADD will start a new listpack if the new record may cause the previous
        listpack to grow over 1GB.
      - XADD will respond with an error if a single stream record is over 1GB
      - List type (ziplist in quicklist) was truncating strings that were over 4GB,
        now it'll respond with an error.
      
      (cherry picked from commit 68e221a3f98a427805d31c1760b4cdf37ba810ab)
      6facfb7a
  2. 27 Oct, 2020 2 commits
    • Guy Benoish's avatar
      Support streams in general module API functions · da2906e5
      Guy Benoish authored
      Fixes GitHub issue #6492
      Added stream support in RM_KeyType and RM_ValueLength.
      Also moduleDelKeyIfEmpty was updated, even though it has
      no effect now (It will be relevant when stream type direct
      API will be coded - i.e. RM_StreamAdd)
      
      cherry picked from commit 1833d008
      * modified to avoid adding new API to 5.0 (reverting the change to
        RM_KeyType)
      da2906e5
    • Guy Benoish's avatar
      XPENDING should not update consumer's seen-time · c9e370c6
      Guy Benoish authored
      Same goes for XGROUP DELCONSUMER (But in this case, it doesn't
      have any visible effect)
      
      (cherry picked from commit 3a441c7d)
      c9e370c6
  3. 24 Apr, 2020 1 commit
  4. 17 Apr, 2020 1 commit
  5. 05 Mar, 2020 4 commits
    • Guy Benoish's avatar
      XREADGROUP should propagate XCALIM/SETID in MULTI/EXEC · 4f0f799c
      Guy Benoish authored
      Use built-in alsoPropagate mechanism that wraps commands
      in MULTI/EXEC before sending them to replica/AOF
      4f0f799c
    • Guy Benoish's avatar
      Blocking XREAD[GROUP] should always reply with valid data (or timeout) · 7f3fcedb
      Guy Benoish authored
      This commit solves the following bug:
      127.0.0.1:6379> XGROUP CREATE x grp $ MKSTREAM
      OK
      127.0.0.1:6379> XADD x 666 f v
      "666-0"
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) 1) 1) "666-0"
               2) 1) "f"
                  2) "v"
      127.0.0.1:6379> XADD x 667 f v
      "667-0"
      127.0.0.1:6379> XDEL x 667
      (integer) 1
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) (empty array)
      
      The root cause is that we use s->last_id in streamCompareID
      while we should use the last *valid* ID
      7f3fcedb
    • antirez's avatar
      XCLAIM: Create the consumer only on successful claims. · f93b2fa5
      antirez authored
      Fixes #6744.
      f93b2fa5
    • Guy Benoish's avatar
      Stream: Handle streamID-related edge cases · 89682d96
      Guy Benoish authored
      This commit solves several edge cases that are related to
      exhausting the streamID limits: We should correctly calculate
      the succeeding streamID instead of blindly incrementing 'seq'
      This affects both XREAD and XADD.
      
      Other (unrelated) changes:
      Reply with a better error message when trying to add an entry
      to a stream that has exhausted last_id
      89682d96
  6. 19 Nov, 2019 4 commits
  7. 26 Apr, 2019 1 commit
  8. 13 Mar, 2019 3 commits
  9. 20 Nov, 2018 3 commits
  10. 05 Nov, 2018 8 commits
  11. 17 Oct, 2018 9 commits
  12. 15 Oct, 2018 3 commits