1. 17 Jan, 2022 1 commit
    • Oran Agra's avatar
      Set repl-diskless-sync to yes by default, add repl-diskless-sync-max-replicas (#10092) · ae899589
      Oran Agra authored
      1. enable diskless replication by default
      2. add a new config named repl-diskless-sync-max-replicas that enables
         replication to start before the full repl-diskless-sync-delay was
         reached.
      3. put replica online sooner on the master (see below)
      4. test suite uses repl-diskless-sync-delay of 0 to be faster
      5. a few tests that use multiple replica on a pre-populated master, are
         now using the new repl-diskless-sync-max-replicas
      6. fix possible timing issues in a few cluster tests (see below)
      
      put replica online sooner on the master 
      ----------------------------------------------------
      there were two tests that failed because they needed for the master to
      realize that the replica is online, but the test code was actually only
      waiting for the replica to realize it's online, and in diskless it could
      have been before the master realized it.
      
      changes include two things:
      1. the tests wait on the right thing
      2. issues in the master, putting the replica online in two steps.
      
      the master used to put the replica as online in 2 steps. the first
      step was to mark it as online, and the second step was to enable the
      write event (only after getting ACK), but in fact the first step didn't
      contains some of the tasks to put it online (like updating good slave
      count, and sending the module event). this meant that if a test was
      waiting to see that the replica is online form the point of view of the
      master, and then confirm that the module got an event, or that the
      master has enough good replicas, it could fail due to timing issues.
      
      so now the full effect of putting the replica online, happens at once,
      and only the part about enabling the writes is delayed till the ACK.
      
      fix cluster tests 
      --------------------
      I added some code to wait for the replica to sync and avoid race
      conditions.
      later realized the sentinel and cluster tests where using the original 5
      seconds delay, so changed it to 0.
      
      this means the other changes are probably not needed, but i suppose
      they're still better (avoid race conditions)
      ae899589
  2. 19 Dec, 2021 1 commit
    • YaacovHazan's avatar
      Protected configs and sensitive commands (#9920) · ae2f5b7b
      YaacovHazan authored
      Block sensitive configs and commands by default.
      
      * `enable-protected-configs` - block modification of configs with the new `PROTECTED_CONFIG` flag.
         Currently we add this flag to `dbfilename`, and `dir` configs,
         all of which are non-mutable configs that can set a file redis will write to.
      * `enable-debug-command` - block the `DEBUG` command
      * `enable-module-command` - block the `MODULE` command
      
      These have a default value set to `no`, so that these features are not
      exposed by default to client connections, and can only be set by modifying the config file.
      
      Users can change each of these to either `yes` (allow all access), or `local` (allow access from
      local TCP connections and unix domain connections)
      
      Note that this is a **breaking change** (specifically the part about MODULE command being disabled by default).
      I.e. we don't consider DEBUG command being blocked as an issue (people shouldn't have been using it),
      and the few configs we protected are unlikely to have been set at runtime anyway.
      On the other hand, it's likely to assume some users who use modules, load them from the config file anyway.
      Note that's the whole point of this PR, for redis to be more secure by default and reduce the attack surface on
      innocent users, so secure defaults will necessarily mean a breaking change.
      ae2f5b7b
  3. 19 Dec, 2016 1 commit
  4. 10 Jul, 2014 1 commit
  5. 12 Jun, 2013 1 commit
  6. 15 May, 2013 1 commit
  7. 04 Apr, 2013 1 commit
  8. 05 Feb, 2013 1 commit
  9. 28 Jan, 2013 3 commits
  10. 29 Mar, 2012 1 commit
  11. 10 Mar, 2012 1 commit
  12. 25 Jun, 2011 1 commit
  13. 09 Jan, 2011 1 commit
  14. 03 Jan, 2011 1 commit
  15. 02 Jan, 2011 1 commit
  16. 20 May, 2010 1 commit
  17. 14 May, 2010 2 commits
  18. 10 May, 2010 1 commit
  19. 07 May, 2010 2 commits
  20. 06 May, 2010 1 commit
  21. 22 Apr, 2010 1 commit
  22. 15 Apr, 2010 1 commit
  23. 09 Apr, 2010 1 commit
  24. 02 Apr, 2010 1 commit
  25. 20 Mar, 2010 1 commit
  26. 07 Mar, 2010 1 commit
  27. 27 Feb, 2010 1 commit
  28. 10 Feb, 2010 1 commit
  29. 06 Feb, 2010 1 commit
  30. 15 Jan, 2010 1 commit
  31. 12 Jan, 2010 1 commit
  32. 09 Jan, 2010 1 commit
  33. 07 Jan, 2010 3 commits
  34. 06 Jan, 2010 1 commit