1. 28 Nov, 2021 1 commit
    • Meir Shpilraien (Spielrein)'s avatar
      Fix Lua C API violation on lua msgpack lib. (#9832) · a8c1253b
      Meir Shpilraien (Spielrein) authored
      msgpack lib missed using lua_checkstack and so on rare
      cases overflow the stack by at most 2 elements. This is a
      violation of the Lua C API. Notice that Lua allocates
      additional 5 more elements on top of lua->stack_last
      so Redis does not access an invalid memory. But it is an
      API violation and we should avoid it.
      
      This PR also added a new Lua compilation option. The new
      option can be enable using environment variable called
      LUA_DEBUG. If set to `yes` (by default `no`), Lua will be
      compiled without optimizations and with debug symbols (`-O0 -g`).
      In addition, in this new mode, Lua will be compiled with the
      `-DLUA_USE_APICHECK` flag that enables extended Lua C API
      validations.
      
      In addition, set LUA_DEBUG=yes on daily valgrind flow so we
      will be able to catch Lua C API violations in the future.
      a8c1253b
  2. 24 Oct, 2021 1 commit
  3. 10 Oct, 2021 1 commit
  4. 29 Sep, 2020 1 commit
    • YoongHM's avatar
      Fix compilation warnings in Lua and jemalloc dependencies (#7785) · 448c435b
      YoongHM authored
      
      
      - The argument `u` in for `ar` is ignored (and generates warnings since `D` became the default.
        All it does is avoid updating unchanged objects (shouldn't have any impact on our build)
      - Enable `LUA_USE_MKSTEMP` to force the use of `mkstemp()` instead of `tmpname()` (which is dead
        code in redis anyway).
      - Remove unused variable `c` in `f_parser()`
      - Removed misleadingly indented space in `luaL_loadfile()` and ``addfield()`
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      448c435b
  5. 21 Sep, 2020 1 commit
    • YoongHM's avatar
      Fix warning from jemalloc configure script (#7790) · d3faed87
      YoongHM authored
      jemalloc configure shows this:
          configure: WARNING: unrecognized options: --enable-cc-silence
      
      The changelog of jemalloc 4.0 has:
        - Replace --enable-cc-silence with --disable-cc-silence to suppress spurious
          warnings by default.
      d3faed87
  6. 25 Aug, 2020 1 commit
  7. 07 Oct, 2019 1 commit
    • Yossi Gottlieb's avatar
      TLS: Connections refactoring and TLS support. · b087dd1d
      Yossi Gottlieb authored
      * Introduce a connection abstraction layer for all socket operations and
      integrate it across the code base.
      * Provide an optional TLS connections implementation based on OpenSSL.
      * Pull a newer version of hiredis with TLS support.
      * Tests, redis-cli updates for TLS support.
      b087dd1d
  8. 24 May, 2018 1 commit
  9. 06 Jul, 2016 1 commit
    • antirez's avatar
      geohash.c and geohash_helper.c are part of Redis. · eaa713e9
      antirez authored
      They were under /deps since they originate from a different source tree,
      however at this point they are very modified and we took ownership of
      both the files making changes, fixing bugs, so there is no upgrade path
      from the original code tree.
      
      Given that, better to move the code under /src with proper dependencies
      and with a more simpler editing experience.
      eaa713e9
  10. 18 May, 2016 1 commit
  11. 22 Jun, 2015 1 commit
    • Matt Stancliff's avatar
      [In-Progress] Add Geo Commands · 7f4ac3d1
      Matt Stancliff authored
      Current todo:
        - replace functions in zset.{c,h} with a new unified Redis
          zset access API.
      
      Once we get the zset interface fixed, we can squash
      relevant commits in this branch and have one nice commit
      to merge into unstable.
      
      This commit adds:
        - Geo commands
        - Tests; runnable with: ./runtest --single unit/geo
        - Geo helpers in deps/geohash-int/
        - src/geo.{c,h} and src/geojson.{c,h} implementing geo commands
        - Updated build configurations to get everything working
        - TEMPORARY: src/zset.{c,h} implementing zset score and zset
          range reading without writing to client output buffers.
        - Modified linkage of one t_zset.c function for use in zset.c
      
      Conflicts:
      	src/Makefile
      	src/redis.c
      7f4ac3d1
  12. 02 Jan, 2015 1 commit
  13. 14 Nov, 2014 1 commit
    • Matt Stancliff's avatar
      Lua: Upgrade cjson to 2.1.0 (2012-03-01) · 4fdcd213
      Matt Stancliff authored
      The new cjson has some improvements over our current version including
      increased platform compatability, a new resource limit to restrict
      decode depth, and better invalid number handling.
      
      One minor change was required to deps/Makefile because this version
      of cjson doesn't export itself globally, so we added a quick little
      define of -DENABLE_CJSON_GLOBAL.
      
      cjson now has an optional higher performing float parsing interface,
      but we are not including it (g_fmt.c, dtoa.c) because it requires
      endianness declaration during compile time.
      
      This commit is exactly lua_cjson.c from 2.1.0 with one minor
      change of altering the two Lua includes for local search
      instead of system-wide importing.
      4fdcd213
  14. 12 Aug, 2014 1 commit
  15. 16 Mar, 2013 1 commit
  16. 01 Nov, 2012 1 commit
    • antirez's avatar
      32 bit build fixed on Linux. · d36fb95a
      antirez authored
      It failed because of the way jemalloc was compiled (without passing the
      right flags to make, but just to configure). Now the same set of flags
      are also passed to the make command, fixing the issue.
      
      This fixes issue #744
      d36fb95a
  17. 11 Apr, 2012 1 commit
    • Pieter Noordhuis's avatar
      Clean up Makefiles · 0a08d2b0
      Pieter Noordhuis authored
      Remove unused variables. Instead of overriding non-standard variables
      such as ARCH and PROF, use standard variables CFLAGS and LDFLAGS to
      override Makefile settings. Move dependencies generated by `make dep` to
      a separate file.
      0a08d2b0
  18. 15 Nov, 2011 1 commit
    • Pieter Noordhuis's avatar
      Rebuild deps/ and src/ when ARCH changes · 4b8a6394
      Pieter Noordhuis authored
      This change moves the build instructions for dependencies to a separate
      Makefile in deps/. The ARCH environment variable is stored in a
      .make-arch file in the same directory as the Makefile. The contents of
      this file is read and compared to the current ARCH, and, on a mismatch
      triggers rebuilding the entire source tree.
      
      When file .make-arch exists and matches with ARCH from the environment,
      the dependencies are assumed to already be built.
      
      The new "clean" target only cleans the Redis source tree, not its
      dependencies. To clear the dependencies as well, the "distclean" target
      can be used.
      4b8a6394