1. 23 Aug, 2021 1 commit
    • Wen Hui's avatar
      config memory limits: handle values larger than (signed) LLONG_MAX (#9313) · 641780a9
      Wen Hui authored
      This aims to solve the issue in CONFIG SET maxmemory can only set maxmemory to up
      to 9223372036854775807 (2^63) while the maxmemory should be ULLONG.
      Added a memtoull function to convert a string representing an amount of memory
      into the number of bytes (similar to memtoll but for ull). Also added ull2string to
      convert a ULLong to string (Similar to ll2string).
      641780a9
  2. 10 Mar, 2021 1 commit
    • sundb's avatar
      Add run all test support with define REDIS_TEST (#8570) · 95d6297d
      sundb authored
      1. Add `redis-server test all` support to run all tests.
      2. Add redis test to daily ci.
      3. Add `--accurate` option to run slow tests for more iterations (so that
         by default we run less cycles (shorter time, and less prints).
      4. Move dict benchmark to REDIS_TEST.
      5. fix some leaks in tests
      6. make quicklist tests run on a specific fill set of options rather than huge ranges
      7. move some prints in quicklist test outside their loops to reduce prints
      8. removing sds.h from dict.c since it is now used in both redis-server and
         redis-cli (uses hiredis sds)
      95d6297d
  3. 15 Feb, 2021 1 commit
  4. 18 Jan, 2021 1 commit
  5. 13 Dec, 2020 1 commit
    • Yossi Gottlieb's avatar
      Several (mostly Solaris-related) cleanups (#8171) · 86e3395c
      Yossi Gottlieb authored
      * Allow runtest-moduleapi use a different 'make', for systems where GNU Make is 'gmake'.
      * Fix issue with builds on Solaris re-building everything from scratch due to CFLAGS/LDFLAGS not stored.
      * Fix compile failure on Solaris due to atomicvar and a bunch of warnings.
      * Fix garbled log timestamps on Solaris.
      86e3395c
  6. 06 May, 2020 1 commit
  7. 05 May, 2020 1 commit
  8. 23 Apr, 2020 1 commit
    • antirez's avatar
      getRandomBytes(): use HMAC-SHA256. · 9ae8254e
      antirez authored
      Now that we have an interface to use this API directly, via ACL GENPASS,
      we are no longer sure what people could do with it. So why don't make it
      a strong primitive exported by Redis in order to create unique IDs and
      so forth?
      
      The implementation was tested against the test vectors that can
      be found in RFC4231.
      9ae8254e
  9. 30 Jan, 2020 1 commit
    • Guy Benoish's avatar
      ld2string should fail if string contains \0 in the middle · 2deb5551
      Guy Benoish authored
      This bug affected RM_StringToLongDouble and HINCRBYFLOAT.
      I added tests for both cases.
      
      Main changes:
      1. Fixed string2ld to fail if string contains \0 in the middle
      2. Use string2ld in getLongDoubleFromObject - No point of
         having duplicated code here
      
      The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble
      because the long double string was saved with length+1 (An innocent
      mistake, but it's actually a bug - The length passed to
      RM_SaveLongDouble should not include the last \0).
      2deb5551
  10. 05 Nov, 2019 1 commit
  11. 04 Nov, 2019 1 commit
    • Oran Agra's avatar
      Add RM_ServerInfoGetFieldUnsigned · 04233097
      Oran Agra authored
      rename RM_ServerInfoGetFieldNumerical RM_ServerInfoGetFieldSigned
      move string2ull to util.c
      fix leak in RM_GetServerInfo when duplicate info fields exist
      04233097
  12. 03 Nov, 2019 2 commits
    • Oran Agra's avatar
      Module API for loading and saving long double · 779aebc9
      Oran Agra authored
      looks like each platform implements long double differently (different bit count)
      so we can't save them as binary, and we also want to avoid creating a new RDB
      format version, so we save these are hex strings using "%La".
      
      This commit includes a change in the arguments of ld2string to support this.
      as well as tests for coverage and short reads.
      
      coded by @guybe7
      779aebc9
    • Oran Agra's avatar
      Add module api for looking into INFO fields · 4d580438
      Oran Agra authored
      - Add RM_GetServerInfo and friends
      - Add auto memory for new opaque struct
      - Add tests for new APIs
      
      other minor fixes:
      - add const in various char pointers
      - requested_section in modulesCollectInfo was actually not sds but char*
      - extract new string2d out of getDoubleFromObject for code reuse
      
      Add module API for
      4d580438
  13. 28 Jan, 2019 1 commit
  14. 11 Dec, 2018 2 commits
  15. 15 Nov, 2018 1 commit
  16. 26 Oct, 2018 2 commits
  17. 24 Jul, 2018 2 commits
  18. 23 Jul, 2018 2 commits
  19. 21 Jul, 2018 1 commit
  20. 03 Jul, 2018 1 commit
  21. 05 Apr, 2018 1 commit
  22. 12 Dec, 2017 1 commit
  23. 10 May, 2016 1 commit
  24. 04 Nov, 2015 1 commit
    • antirez's avatar
      Fix HINCRBYFLOAT to work with long doubles. · 71aa9b75
      antirez authored
      During the refactoring needed for lazy free, specifically the conversion
      of t_hash from struct robj to plain SDS strings, HINCRBFLOAT was
      accidentally moved away from long doubles to doubles for internal
      processing of increments and formatting.
      
      The diminished precision created more obvious artifacts in the way small
      numbers are formatted once we convert from decimal number in radix 10 to
      double and back to its string in radix 10.
      
      By using more precision, we now have less surprising results at least
      with small numbers like "1.23", exactly like in the previous versions of
      Redis.
      
      See issue #2846.
      71aa9b75
  25. 01 Oct, 2015 4 commits
  26. 27 Feb, 2015 2 commits
  27. 12 Feb, 2015 1 commit
  28. 22 Jan, 2015 3 commits
  29. 21 Jan, 2015 1 commit
    • antirez's avatar
      getRandomHexChars(): use /dev/urandom just to seed. · 87301be1
      antirez authored
      On Darwin /dev/urandom depletes terribly fast. This is not an issue
      normally, but with Redis Cluster we generate a lot of unique IDs, for
      example during nodes handshakes. Our IDs need just to be unique without
      other strong crypto requirements, so this commit turns the function into
      something that gets a 20 bytes seed from /dev/urandom, and produces the
      rest of the output just using SHA1 in counter mode.
      87301be1