1. 08 Nov, 2017 1 commit
  2. 06 Nov, 2017 1 commit
    • antirez's avatar
      Fix saving of zero-length lists. · 0aa0cdf7
      antirez authored
      Normally in modern Redis you can't create zero-len lists, however it's
      possible to load them from old RDB files generated, for instance, using
      Redis 2.8 (see issue #4409). The "Right Thing" would be not loading such
      lists at all, but this requires to hook in rdb.c random places in a not
      great way, for a problem that is at this point, at best, minor.
      
      Here in this commit instead I just fix the fact that zero length lists,
      materialized as quicklists with the first node set to NULL, were
      iterated in the wrong way while they are saved, leading to a crash.
      
      The other parts of the list implementation are apparently able to deal
      with empty lists correctly, even if they are no longer a thing.
      0aa0cdf7
  3. 31 Oct, 2017 1 commit
    • antirez's avatar
      Fix buffer overflows occurring reading redis.conf. · 5727d7ec
      antirez authored
      There was not enough sanity checking in the code loading the slots of
      Redis Cluster from the nodes.conf file, this resulted into the
      attacker's ability to write data at random addresses in the process
      memory, by manipulating the index of the array. The bug seems
      exploitable using the following techique: the config file may be altered so
      that one of the nodes gets, as node ID (which is the first field inside the
      structure) some data that is actually executable: then by writing this
      address in selected places, this node ID part can be executed after a
      jump. So it is mostly just a matter of effort in order to exploit the
      bug. In practice however the issue is not very critical because the
      bug requires an unprivileged user to be able to modify the Redis cluster
      nodes configuration, and at the same time this should result in some
      gain. However Redis normally is unprivileged as well. Yet much better to
      have this fixed indeed.
      
      Fix #4278.
      5727d7ec
  4. 21 Sep, 2017 1 commit
  5. 18 Sep, 2017 1 commit
    • Oran Agra's avatar
      Flush append only buffers before existing. · 13e8e538
      Oran Agra authored
      when SHUTDOWN command is recived it is possible that some of the recent
      command were not yet flushed from the AOF buffer, and the server
      experiences data loss at shutdown.
      13e8e538
  6. 28 Jul, 2017 1 commit
  7. 24 Jul, 2017 8 commits
  8. 11 Jul, 2017 1 commit
  9. 30 Jun, 2017 2 commits
    • antirez's avatar
      Fix abort typo in Lua debugger help screen. · 7018d27d
      antirez authored
      7018d27d
    • antirez's avatar
      Added GEORADIUS(BYMEMBER)_RO variants for read-only operations. · d557144e
      antirez authored
      Issue #4084 shows how for a design error, GEORADIUS is a write command
      because of the STORE option. Because of this it does not work
      on readonly slaves, gets redirected to masters in Redis Cluster even
      when the connection is in READONLY mode and so forth.
      
      To break backward compatibility at this stage, with Redis 4.0 to be in
      advanced RC state, is problematic for the user base. The API can be
      fixed into the unstable branch soon if we'll decide to do so in order to
      be more consistent, and reease Redis 5.0 with this incompatibility in
      the future. This is still unclear.
      
      However, the ability to scale GEO queries in slaves easily is too
      important so this commit adds two read-only variants to the GEORADIUS
      and GEORADIUSBYMEMBER command: GEORADIUS_RO and GEORADIUSBYMEMBER_RO.
      The commands are exactly as the original commands, but they do not
      accept the STORE and STOREDIST options.
      d557144e
  10. 27 Jun, 2017 6 commits
  11. 22 Jun, 2017 4 commits
  12. 20 Jun, 2017 4 commits
  13. 14 Jun, 2017 1 commit
  14. 17 May, 2017 1 commit
  15. 15 May, 2017 1 commit
  16. 21 Apr, 2017 4 commits
  17. 20 Apr, 2017 1 commit
  18. 14 Apr, 2017 1 commit