1. 28 May, 2023 1 commit
  2. 03 May, 2023 1 commit
    • Madelyn Olson's avatar
      Remove prototypes with empty declarations (#12020) · 5e3be1be
      Madelyn Olson authored
      Technically declaring a prototype with an empty declaration has been deprecated since the early days of C, but we never got a warning for it. C2x will apparently be introducing a breaking change if you are using this type of declarator, so Clang 15 has started issuing a warning with -pedantic. Although not apparently a problem for any of the compiler we build on, if feels like the right thing is to properly adhere to the C standard and use (void).
      5e3be1be
  3. 04 Jan, 2023 1 commit
  4. 04 Nov, 2022 1 commit
    • Binbin's avatar
      Introduce socket shutdown into connection type, used if a fork is active (#11376) · fac188b4
      Binbin authored
      Introduce socket `shutdown()` into connection type, and use it
      on normal socket if a fork is active. This allows us to close
      client connections when there are child processes sharing the
      file descriptors.
      
      Fixes #10077. The reason is that since the `fork()` child is holding
      the file descriptors, the `close` in `unlinkClient -> connClose`
      isn't sufficient. The client will not realize that the connection is
      disconnected until the child process ends.
      
      Let's try to be conservative and only use shutdown when the fork is active.
      fac188b4
  5. 23 Aug, 2022 1 commit
    • Oran Agra's avatar
      Build TLS as a loadable module · 4faddf18
      Oran Agra authored
      
      
      * Support BUILD_TLS=module to be loaded as a module via config file or
        command line. e.g. redis-server --loadmodule redis-tls.so
      * Updates to redismodule.h to allow it to be used side by side with
        server.h by defining REDISMODULE_CORE_MODULE
      * Changes to server.h, redismodule.h and module.c to avoid repeated
        type declarations (gcc 4.8 doesn't like these)
      * Add a mechanism for non-ABI neutral modules (ones who include
        server.h) to refuse loading if they detect not being built together with
        redis (release.c)
      * Fix wrong signature of RedisModuleDefragFunc, this could break
        compilation of a module, but not the ABI
      * Move initialization of listeners in server.c to be after loading
        the modules
      * Config TLS after initialization of listeners
      * Init cluster after initialization of listeners
      * Add TLS module to CI
      * Fix a test suite race conditions:
        Now that the listeners are initialized later, it's not sufficient to
        wait for the PID message in the log, we need to wait for the "Server
        Initialized" message.
      * Fix issues with moduleconfigs test as a result from start_server
        waiting for "Server Initialized"
      * Fix issues with modules/infra test as a result of an additional module
        present
      
      Notes about Sentinel:
      Sentinel can't really rely on the tls module, since it uses hiredis to
      initiate connections and depends on OpenSSL (won't be able to use any
      other connection modules for that), so it was decided that when TLS is
      built as a module, sentinel does not support TLS at all.
      This means that it keeps using redis_tls_ctx and redis_tls_client_ctx directly.
      
      Example code of config in redis-tls.so(may be use in the future):
      RedisModuleString *tls_cfg = NULL;
      
      void tlsInfo(RedisModuleInfoCtx *ctx, int for_crash_report) {
          UNUSED(for_crash_report);
          RedisModule_InfoAddSection(ctx, "");
          RedisModule_InfoAddFieldLongLong(ctx, "var", 42);
      }
      
      int tlsCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)
      {
          if (argc != 2) return RedisModule_WrongArity(ctx);
          return RedisModule_ReplyWithString(ctx, argv[1]);
      }
      
      RedisModuleString *getStringConfigCommand(const char *name, void *privdata) {
          REDISMODULE_NOT_USED(name);
          REDISMODULE_NOT_USED(privdata);
          return tls_cfg;
      }
      
      int setStringConfigCommand(const char *name, RedisModuleString *new, void *privdata, RedisModuleString **err) {
          REDISMODULE_NOT_USED(name);
          REDISMODULE_NOT_USED(err);
          REDISMODULE_NOT_USED(privdata);
          if (tls_cfg) RedisModule_FreeString(NULL, tls_cfg);
          RedisModule_RetainString(NULL, new);
          tls_cfg = new;
          return REDISMODULE_OK;
      }
      
      int RedisModule_OnLoad(void *ctx, RedisModuleString **argv, int argc)
      {
          ....
          if (RedisModule_CreateCommand(ctx,"tls",tlsCommand,"",0,0,0) == REDISMODULE_ERR)
              return REDISMODULE_ERR;
      
          if (RedisModule_RegisterStringConfig(ctx, "cfg", "", REDISMODULE_CONFIG_DEFAULT, getStringConfigCommand, setStringConfigCommand, NULL, NULL) == REDISMODULE_ERR)
              return REDISMODULE_ERR;
      
          if (RedisModule_LoadConfigs(ctx) == REDISMODULE_ERR) {
              if (tls_cfg) {
                  RedisModule_FreeString(ctx, tls_cfg);
                  tls_cfg = NULL;
              }
              return REDISMODULE_ERR;
          }
          ...
      }
      Co-authored-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      4faddf18
  6. 22 Aug, 2022 13 commits
    • zhenwei pi's avatar
      Add listeners info string for 'INFO' command · 0c4d2fcc
      zhenwei pi authored
      
      
      Suggested by Oran, add necessary listeners information in 'INFO'
      command. It would be helpful for debug.
      
      Example of this:
      127.0.0.1:6379> INFO SERVER
      redis_version:255.255.255
      ...
      listener0:name=tcp,bind=127.0.0.1,port=6380
      listener1:name=unix,bind=/run/redis.sock
      listener2:name=tls,bind=127.0.0.1,port=6379
      ...
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      0c4d2fcc
    • zhenwei pi's avatar
      Introduce .listen into connection type · 0b27cfe3
      zhenwei pi authored
      
      
      Introduce listen method into connection type, this allows no hard code
      of listen logic. Originally, we initialize server during startup like
      this:
          if (server.port)
              listenToPort(server.port,&server.ipfd);
          if (server.tls_port)
              listenToPort(server.port,&server.tlsfd);
          if (server.unixsocket)
              anetUnixServer(...server.unixsocket...);
      
          ...
          if (createSocketAcceptHandler(&server.ipfd, acceptTcpHandler) != C_OK)
          if (createSocketAcceptHandler(&server.tlsfd, acceptTcpHandler) != C_OK)
          if (createSocketAcceptHandler(&server.sofd, acceptTcpHandler) != C_OK)
          ...
      
      If a new connection type gets supported, we have to add more hard code
      to setup listener.
      
      Introduce .listen and refactor listener, and Unix socket supports this.
      this allows to setup listener arguments and create listener in a loop.
      
      What's more, '.listen' is defined in connection.h, so we should include
      server.h to import 'struct socketFds', but server.h has already include
      'connection.h'. To avoid including loop(also to make code reasonable),
      define 'struct connListener' in connection.h instead of 'struct socketFds'
      in server.h. This leads this commit to get more changes.
      
      There are more fields in 'struct connListener', hence it's possible to
      simplify changeBindAddr & applyTLSPort() & updatePort() into a single
      logic: update the listener config from the server.xxx, and re-create
      the listener.
      
      Because of the new field 'priv' in struct connListener, we expect to pass
      this to the accept handler(even it's not used currently), this may be used
      in the future.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      0b27cfe3
    • zhenwei pi's avatar
      Use connection name of string · 45617385
      zhenwei pi authored
      
      
      Suggested by Oran, use an array to store all the connection types
      instead of a linked list, and use connection name of string. The index
      of a connection is dynamically allocated.
      
      Currently we support max 8 connection types, include:
      - tcp
      - unix socket
      - tls
      
      and RDMA is in the plan, then we have another 4 types to support, it
      should be enough in a long time.
      
      Introduce 3 functions to get connection type by a fast path:
      - connectionTypeTcp()
      - connectionTypeTls()
      - connectionTypeUnix()
      
      Note that connectionByType() is designed to use only in unlikely code path.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      45617385
    • zhenwei pi's avatar
      Introduce unix socket connection type · eb94d6d3
      zhenwei pi authored
      
      
      Unix socket uses different accept handler/create listener from TCP,
      to hide these difference to avoid hard code, use a new unix socket
      connection type. Also move 'acceptUnixHandler' into unix.c.
      
      Currently, the connection framework becomes like following:
      
                         uplayer
                            |
                     connection layer
                       /    |     \
                     TCP   Unix   TLS
      
      It's possible to build Unix socket support as a shared library, and
      load it dynamically. Because TCP and Unix socket don't require any
      heavy dependencies or overheads, we build them into Redis statically.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      eb94d6d3
    • zhenwei pi's avatar
      Abstract accept handler · 0ae02ce9
      zhenwei pi authored
      
      
      Abstract accept handler for socket&TLS, and add helper function
      'connAcceptHandler' to get accept handler by specified type.
      
      Also move acceptTcpHandler into socket.c, and move
      acceptTLSHandler into tls.c.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      0ae02ce9
    • zhenwei pi's avatar
      Fully abstract connection type · 1234e3a5
      zhenwei pi authored
      
      
      Abstract common interface of connection type, so Redis can hide the
      implementation and uplayer only calls connection API without macro.
      
                     uplayer
                        |
                 connection layer
                   /          \
                socket        TLS
      
      Currently, for both socket and TLS, all the methods of connection type
      are declared as static functions.
      
      It's possible to build TLS(even socket) as a shared library, and Redis
      loads it dynamically in the next step.
      
      Also add helper function connTypeOfCluster() and
      connTypeOfReplication() to simplify the code:
      link->conn = server.tls_cluster ? connCreateTLS() : connCreateSocket();
      -> link->conn = connCreate(connTypeOfCluster());
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      1234e3a5
    • zhenwei pi's avatar
      Introduce TLS specified APIs · c4c02f80
      zhenwei pi authored
      
      
      Introduce .get_peer_cert, .get_ctx and .get_client_ctx for TLS, also
      hide redis_tls_ctx & redis_tls_client_ctx.
      
      Then outside could access the variables by connection API only:
      - redis_tls_ctx -> connTypeGetCtx(CONN_TYPE_TLS)
      - redis_tls_client_ctx -> connTypeGetClientCtx(CONN_TYPE_TLS)
      
      Also remove connTLSGetPeerCert(), use connGetPeerCert() instead.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      c4c02f80
    • zhenwei pi's avatar
      Introduce pending data for connection type · 709b55b0
      zhenwei pi authored
      
      
      Introduce .has_pending_data and .process_pending_data for connection
      type, and hide tlsHasPendingData() and tlsProcessPendingData(). Also
      set .has_pending_data and .process_pending_data as NULL explicitly in
      socket.c.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      709b55b0
    • zhenwei pi's avatar
      Introduce connection layer framework · 8234a512
      zhenwei pi authored
      
      
      Use connTypeRegister() to register a connection type into redis, and
      query connection by connectionByType() via type.
      
      With this change, we can hide TLS specified methods into connection
      type:
      - void tlsInit(void);
      - void tlsCleanup(void);
      - int tlsConfigure(redisTLSContextConfig *ctx_config);
      - int isTlsConfigured(void);
      
      Merge isTlsConfigured & tlsConfigure, use an argument *reconfigure*
      to distinguish:
         tlsConfigure(&server.tls_ctx_config)
      -> onnTypeConfigure(CONN_TYPE_TLS, &server.tls_ctx_config, 1)
      
         isTlsConfigured() && tlsConfigure(&server.tls_ctx_config)
      -> connTypeConfigure(CONN_TYPE_TLS, &server.tls_ctx_config, 0)
      
      Finally, we can remove USE_OPENSSL from config.c. If redis is built
      without TLS, and still run redis with TLS, then redis reports:
       # Missing implement of connection type 1
       # Failed to configure TLS. Check logs for more info.
      
      The log can be optimised, let's leave it in the future. Maybe we can
      use connection type as a string.
      
      Although uninitialized fields of a static struct are zero, we still
      set them as NULL explicitly in socket.c, let them clear to read & maintain:
          .init = NULL,
          .cleanup = NULL,
          .configure = NULL,
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      8234a512
    • zhenwei pi's avatar
      Introduce connAddr · bff7ecc7
      zhenwei pi authored
      
      
      Originally, connPeerToString is designed to get the address info from
      socket only(for both TCP & TLS), and the API 'connPeerToString' is
      oriented to operate a FD like:
      int connPeerToString(connection *conn, char *ip, size_t ip_len, int *port) {
          return anetFdToString(conn ? conn->fd : -1, ip, ip_len, port, FD_TO_PEER_NAME);
      }
      
      Introduce connAddr and implement .addr method for socket and TLS,
      thus the API 'connAddr' and 'connFormatAddr' become oriented to a
      connection like:
      static inline int connAddr(connection *conn, char *ip, size_t ip_len, int *port, int remote) {
          if (conn && conn->type->addr) {
              return conn->type->addr(conn, ip, ip_len, port, remote);
          }
      
          return -1;
      }
      
      Also remove 'FD_TO_PEER_NAME' & 'FD_TO_SOCK_NAME', use a boolean type
      'remote' to get local/remote address of a connection.
      
      With these changes, it's possible to support the other connection
      types which does not use socket(Ex, RDMA).
      
      Thanks to Oran for suggestions!
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      bff7ecc7
    • zhenwei pi's avatar
      Reorder methods for ConnectionType · b9d77288
      zhenwei pi authored
      
      
      Reorder methods for CT_Socket & CT_TLS, also add comments to make the
      methods clear.
      
      Also move the CT_TLS to the end of file, other methods can be static
      in the next step.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      b9d77288
    • zhenwei pi's avatar
      Move 'connGetSocketError' to 'anetGetError' · 8045e26e
      zhenwei pi authored
      
      
      getsockopt is part of TCP, rename 'connGetSocketError' to
      'anetGetError', and move it into anet.c.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      8045e26e
    • zhenwei pi's avatar
      Move several conn functions to connection.h · dca5c6ff
      zhenwei pi authored
      
      
      These functions are really short enough and they are the connection
      functions, separate them from the socket source.
      Signed-off-by: default avatarzhenwei pi <pizhenwei@bytedance.com>
      dca5c6ff
  7. 22 Feb, 2022 1 commit
    • Andy Pan's avatar
      Reduce system calls of write for client->reply by introducing writev (#9934) · 496375fc
      Andy Pan authored
      There are scenarios where it results in many small objects in the reply list,
      such as commands heavily using deferred array replies (`addReplyDeferredLen`).
      E.g. what COMMAND command and CLUSTER SLOTS used to do (see #10056, #7123),
      but also in case of a transaction or a pipeline of commands that use just one differed array reply.
      
      We used to have to run multiple loops along with multiple calls to `write()` to send data back to
      peer based on the current code, but by means of `writev()`, we can gather those scattered
      objects in reply list and include the static reply buffer as well, then send it by one system call,
      that ought to achieve higher performance.
      
      In the case of TLS,  we simply check and concatenate buffers into one big buffer and send it
      away by one call to `connTLSWrite()`, if the amount of all buffers exceeds `NET_MAX_WRITES_PER_EVENT`,
      then invoke `connTLSWrite()` multiple times to avoid a huge massive of memory copies.
      
      Note that aside of reducing system calls, this change will also reduce the amount of
      small TCP packets sent.
      496375fc
  8. 08 Nov, 2021 1 commit
    • Yossi Gottlieb's avatar
      Fix EINTR test failures. (#9751) · a1aba4bf
      Yossi Gottlieb authored
      * Clean up EINTR handling so EINTR will not change connection state to begin with.
      * On TLS, catch EINTR and return it as-is before going through OpenSSL error handling (which seems to not distinguish it from EAGAIN).
      a1aba4bf
  9. 05 Nov, 2021 1 commit
  10. 04 Nov, 2021 1 commit
  11. 28 Oct, 2020 1 commit
    • yoav-steinberg's avatar
      Add local address to CLIENT LIST, and a CLIENT KILL filter. (#7913) · 84b3c18f
      yoav-steinberg authored
      Useful when you want to know through which bind address the client connected to
      the server in case of multiple bind addresses.
      
      - Adding `laddr` field to CLIENT list showing the local (bind) address.
      - Adding `LADDR` option to CLIENT KILL to kill all the clients connected
        to a specific local address.
      - Refactoring to share code.
      84b3c18f
  12. 11 Oct, 2020 1 commit
  13. 10 Sep, 2020 1 commit
    • Oran Agra's avatar
      Squash merging 125 typo/grammar/comment/doc PRs (#7773) · 1c710385
      Oran Agra authored
      
      
      List of squashed commits or PRs
      ===============================
      
      commit 66801ea
      Author: hwware <wen.hui.ware@gmail.com>
      Date:   Mon Jan 13 00:54:31 2020 -0500
      
          typo fix in acl.c
      
      commit 46f55db
      Author: Itamar Haber <itamar@redislabs.com>
      Date:   Sun Sep 6 18:24:11 2020 +0300
      
          Updates a couple of comments
      
          Specifically:
      
          * RM_AutoMemory completed instead of pointing to docs
          * Updated link to custom type doc
      
      commit 61a2aa0
      Author: xindoo <xindoo@qq.com>
      Date:   Tue Sep 1 19:24:59 2020 +0800
      
          Correct errors in code comments
      
      commit a5871d1
      Author: yz1509 <pro-756@qq.com>
      Date:   Tue Sep 1 18:36:06 2020 +0800
      
          fix typos in module.c
      
      commit 41eede7
      Author: bookug <bookug@qq.com>
      Date:   Sat Aug 15 01:11:33 2020 +0800
      
          docs: fix typos in comments
      
      commit c303c84
      Author: lazy-snail <ws.niu@outlook.com>
      Date:   Fri Aug 7 11:15:44 2020 +0800
      
          fix spelling in redis.conf
      
      commit 1eb76bf
      Author: zhujian <zhujianxyz@gmail.com>
      Date:   Thu Aug 6 15:22:10 2020 +0800
      
          add a missing 'n' in comment
      
      commit 1530ec2
      Author: Daniel Dai <764122422@qq.com>
      Date:   Mon Jul 27 00:46:35 2020 -0400
      
          fix spelling in tracking.c
      
      commit e517b31
      Author: Hunter-Chen <huntcool001@gmail.com>
      Date:   Fri Jul 17 22:33:32 2020 +0800
      
          Update redis.conf
      Co-authored-by: default avatarItamar Haber <itamar@redislabs.com>
      
      commit c300eff
      Author: Hunter-Chen <huntcool001@gmail.com>
      Date:   Fri Jul 17 22:33:23 2020 +0800
      
          Update redis.conf
      Co-authored-by: default avatarItamar Haber <itamar@redislabs.com>
      
      commit 4c058a8
      Author: 陈浩鹏 <chenhaopeng@heytea.com>
      Date:   Thu Jun 25 19:00:56 2020 +0800
      
          Grammar fix and clarification
      
      commit 5fcaa81
      Author: bodong.ybd <bodong.ybd@alibaba-inc.com>
      Date:   Fri Jun 19 10:09:00 2020 +0800
      
          Fix typos
      
      commit 4caca9a
      Author: Pruthvi P <pruthvi@ixigo.com>
      Date:   Fri May 22 00:33:22 2020 +0530
      
          Fix typo eviciton => eviction
      
      commit b2a25f6
      Author: Brad Dunbar <dunbarb2@gmail.com>
      Date:   Sun May 17 12:39:59 2020 -0400
      
          Fix a typo.
      
      commit 12842ae
      Author: hwware <wen.hui.ware@gmail.com>
      Date:   Sun May 3 17:16:59 2020 -0400
      
          fix spelling in redis conf
      
      commit ddba07c
      Author: Chris Lamb <chris@chris-lamb.co.uk>
      Date:   Sat May 2 23:25:34 2020 +0100
      
          Correct a "conflicts" spelling error.
      
      commit 8fc7bf2
      Author: Nao YONASHIRO <yonashiro@r.recruit.co.jp>
      Date:   Thu Apr 30 10:25:27 2020 +0900
      
          docs: fix EXPIRE_FAST_CYCLE_DURATION to ACTIVE_EXPIRE_CYCLE_FAST_DURATION
      
      commit 9b2b67a
      Author: Brad Dunbar <dunbarb2@gmail.com>
      Date:   Fri Apr 24 11:46:22 2020 -0400
      
          Fix a typo.
      
      commit 0746f10
      Author: devilinrust <63737265+devilinrust@users.noreply.github.com>
      Date:   Thu Apr 16 00:17:53 2020 +0200
      
          Fix typos in server.c
      
      commit 92b588d
      Author: benjessop12 <56115861+benjessop12@users.noreply.github.com>
      Date:   Mon Apr 13 13:43:55 2020 +0100
      
          Fix spelling mistake in lazyfree.c
      
      commit 1da37aa
      Merge: 2d4ba28 af347a8c
      Author: hwware <wen.hui.ware@gmail.com>
      Date:   Thu Mar 5 22:41:31 2020 -0500
      
          Merge remote-tracking branch 'upstream/unstable' into expiretypofix
      
      commit 2d4ba28
      Author: hwware <wen.hui.ware@gmail.com>
      Date:   Mon Mar 2 00:09:40 2020 -0500
      
          fix typo in expire.c
      
      commit 1a746f7
      Author: SennoYuki <minakami1yuki@gmail.com>
      Date:   Thu Feb 27 16:54:32 2020 +0800
      
          fix typo
      
      commit 8599b1a
      Author: dongheejeong <donghee950403@gmail.com>
      Date:   Sun Feb 16 20:31:43 2020 +0000
      
          Fix typo in server.c
      
      commit f38d4e8
      Author: hwware <wen.hui.ware@gmail.com>
      Date:   Sun Feb 2 22:58:38 2020 -0500
      
          fix typo in evict.c
      
      commit fe143fc
      Author: Leo Murillo <leonardo.murillo@gmail.com>
      Date:   Sun Feb 2 01:57:22 2020 -0600
      
          Fix a few typos in redis.conf
      
      commit 1ab4d21
      Author: viraja1 <anchan.viraj@gmail.com>
      Date:   Fri Dec 27 17:15:58 2019 +0530
      
          Fix typo in Latency API docstring
      
      commit ca1f70e
      Author: gosth <danxuedexing@qq.com>
      Date:   Wed Dec 18 15:18:02 2019 +0800
      
          fix typo in sort.c
      
      commit a57c06b
      Author: ZYunH <zyunhjob@163.com>
      Date:   Mon Dec 16 22:28:46 2019 +0800
      
          fix-zset-typo
      
      commit b8c92b5
      Author: git-hulk <hulk.website@gmail.com>
      Date:   Mon Dec 16 15:51:42 2019 +0800
      
          FIX: typo in cluster.c, onformation->information
      
      commit 9dd981c
      Author: wujm2007 <jim.wujm@gmail.com>
      Date:   Mon Dec 16 09:37:52 2019 +0800
      
          Fix typo
      
      commit e132d7a
      Author: Sebastien Williams-Wynn <s.williamswynn.mail@gmail.com>
      Date:   Fri Nov 15 00:14:07 2019 +0000
      
          Minor typo change
      
      commit 47f44d5
      Author: happynote3966 <01ssrmikururudevice01@gmail.com>
      Date:   Mon Nov 11 22:08:48 2019 +0900
      
          fix comment typo in redis-cli.c
      
      commit b8bdb0d
      Author: fulei <fulei@kuaishou.com>
      Date:   Wed Oct 16 18:00:17 2019 +0800
      
          Fix a spelling mistake of comments  in defragDictBucketCallback
      
      commit 0def46a
      Author: fulei <fulei@kuaishou.com>
      Date:   Wed Oct 16 13:09:27 2019 +0800
      
          fix some spelling mistakes of comments in defrag.c
      
      commit f3596fd
      Author: Phil Rajchgot <tophil@outlook.com>
      Date:   Sun Oct 13 02:02:32 2019 -0400
      
          Typo and grammar fixes
      
          Redis and its documentation are great -- just wanted to submit a few corrections in the spirit of Hacktoberfest. Thanks for all your work on this project. I use it all the time and it works beautifully.
      
      commit 2b928cd
      Author: KangZhiDong <worldkzd@gmail.com>
      Date:   Sun Sep 1 07:03:11 2019 +0800
      
          fix typos
      
      commit 33aea14
      Author: Axlgrep <axlgrep@gmail.com>
      Date:   Tue Aug 27 11:02:18 2019 +0800
      
          Fixed eviction spelling issues
      
      commit e282a80
      Author: Simen Flatby <simen@oms.no>
      Date:   Tue Aug 20 15:25:51 2019 +0200
      
          Update comments to reflect prop name
      
          In the comments the prop is referenced as replica-validity-factor,
          but it is really named cluster-replica-validity-factor.
      
      commit 74d1f9a
      Author: Jim Green <jimgreen2013@qq.com>
      Date:   Tue Aug 20 20:00:31 2019 +0800
      
          fix comment error, the code is ok
      
      commit eea1407
      Author: Liao Tonglang <liaotonglang@gmail.com>
      Date:   Fri May 31 10:16:18 2019 +0800
      
          typo fix
      
          fix cna't to can't
      
      commit 0da553c
      Author: KAWACHI Takashi <tkawachi@gmail.com>
      Date:   Wed Jul 17 00:38:16 2019 +0900
      
          Fix typo
      
      commit 7fc8fb6
      Author: Michael Prokop <mika@grml.org>
      Date:   Tue May 28 17:58:42 2019 +0200
      
          Typo fixes
      
          s/familar/familiar/
          s/compatiblity/compatibility/
          s/ ot / to /
          s/itsef/itself/
      
      commit 5f46c9d
      Author: zhumoing <34539422+zhumoing@users.noreply.github.com>
      Date:   Tue May 21 21:16:50 2019 +0800
      
          typo-fixes
      
          typo-fixes
      
      commit 321dfe1
      Author: wxisme <850885154@qq.com>
      Date:   Sat Mar 16 15:10:55 2019 +0800
      
          typo fix
      
      commit b4fb131
      Merge: 267e0e6 3df1eb85
      Author: Nikitas Bastas <nikitasbst@gmail.com>
      Date:   Fri Feb 8 22:55:45 2019 +0200
      
          Merge branch 'unstable' of antirez/redis into unstable
      
      commit 267e0e6
      Author: Nikitas Bastas <nikitasbst@gmail.com>
      Date:   Wed Jan 30 21:26:04 2019 +0200
      
          Minor typo fix
      
      commit 30544e7
      Author: inshal96 <39904558+inshal96@users.noreply.github.com>
      Date:   Fri Jan 4 16:54:50 2019 +0500
      
          remove an extra 'a' in the comments
      
      commit 337969d
      Author: BrotherGao <yangdongheng11@gmail.com>
      Date:   Sat Dec 29 12:37:29 2018 +0800
      
          fix typo in redis.conf
      
      commit 9f4b121
      Merge: 423a030 e504583b
      Author: BrotherGao <yangdongheng@xiaomi.com>
      Date:   Sat Dec 29 11:41:12 2018 +0800
      
          Merge branch 'unstable' of antirez/redis into unstable
      
      commit 423a030
      Merge: 42b02b7 46a51cdc
      Author: 杨东衡 <yangdongheng@xiaomi.com>
      Date:   Tue Dec 4 23:56:11 2018 +0800
      
          Merge branch 'unstable' of antirez/redis into unstable
      
      commit 42b02b7
      Merge: 68c0e6e3 b8febe60
      
      
      Author: Dongheng Yang <yangdongheng11@gmail.com>
      Date:   Sun Oct 28 15:54:23 2018 +0800
      
          Merge pull request #1 from antirez/unstable
      
          update local data
      
      commit 714b589
      Author: Christian <crifei93@gmail.com>
      Date:   Fri Dec 28 01:17:26 2018 +0100
      
          fix typo "resulution"
      
      commit e23259d
      Author: garenchan <1412950785@qq.com>
      Date:   Wed Dec 26 09:58:35 2018 +0800
      
          fix typo: segfauls -> segfault
      
      commit a9359f8
      Author: xjp <jianping_xie@aliyun.com>
      Date:   Tue Dec 18 17:31:44 2018 +0800
      
          Fixed REDISMODULE_H spell bug
      
      commit a12c3e4
      Author: jdiaz <jrd.palacios@gmail.com>
      Date:   Sat Dec 15 23:39:52 2018 -0600
      
          Fixes hyperloglog hash function comment block description
      
      commit 770eb11
      Author: 林上耀 <1210tom@163.com>
      Date:   Sun Nov 25 17:16:10 2018 +0800
      
          fix typo
      
      commit fd97fbb
      Author: Chris Lamb <chris@chris-lamb.co.uk>
      Date:   Fri Nov 23 17:14:01 2018 +0100
      
          Correct "unsupported" typo.
      
      commit a85522d
      Author: Jungnam Lee <jungnam.lee@oracle.com>
      Date:   Thu Nov 8 23:01:29 2018 +0900
      
          fix typo in test comments
      
      commit ade8007
      Author: Arun Kumar <palerdot@users.noreply.github.com>
      Date:   Tue Oct 23 16:56:35 2018 +0530
      
          Fixed grammatical typo
      
          Fixed typo for word 'dictionary'
      
      commit 869ee39
      Author: Hamid Alaei <hamid.a85@gmail.com>
      Date:   Sun Aug 12 16:40:02 2018 +0430
      
          fix documentations: (ThreadSafeContextStart/Stop -> ThreadSafeContextLock/Unlock), minor typo
      
      commit f89d158
      Author: Mayank Jain <mayankjain255@gmail.com>
      Date:   Tue Jul 31 23:01:21 2018 +0530
      
          Updated README.md with some spelling corrections.
      
          Made correction in spelling of some misspelled words.
      
      commit 892198e
      Author: dsomeshwar <someshwar.dhayalan@gmail.com>
      Date:   Sat Jul 21 23:23:04 2018 +0530
      
          typo fix
      
      commit 8a4d780
      Author: Itamar Haber <itamar@redislabs.com>
      Date:   Mon Apr 30 02:06:52 2018 +0300
      
          Fixes some typos
      
      commit e3acef6
      Author: Noah Rosamilia <ivoahivoah@gmail.com>
      Date:   Sat Mar 3 23:41:21 2018 -0500
      
          Fix typo in /deps/README.md
      
      commit 04442fb
      Author: WuYunlong <xzsyeb@126.com>
      Date:   Sat Mar 3 10:32:42 2018 +0800
      
          Fix typo in readSyncBulkPayload() comment.
      
      commit 9f36880
      Author: WuYunlong <xzsyeb@126.com>
      Date:   Sat Mar 3 10:20:37 2018 +0800
      
          replication.c comment: run_id -> replid.
      
      commit f866b4a
      Author: Francesco 'makevoid' Canessa <makevoid@gmail.com>
      Date:   Thu Feb 22 22:01:56 2018 +0000
      
          fix comment typo in server.c
      
      commit 0ebc69b
      Author: 줍 <jubee0124@gmail.com>
      Date:   Mon Feb 12 16:38:48 2018 +0900
      
          Fix typo in redis.conf
      
          Fix `five behaviors` to `eight behaviors` in [this sentence ](antirez/redis@unstable/redis.conf#L564)
      
      commit b50a620
      Author: martinbroadhurst <martinbroadhurst@users.noreply.github.com>
      Date:   Thu Dec 28 12:07:30 2017 +0000
      
          Fix typo in valgrind.sup
      
      commit 7d8f349
      Author: Peter Boughton <peter@sorcerersisle.com>
      Date:   Mon Nov 27 19:52:19 2017 +0000
      
          Update CONTRIBUTING; refer doc updates to redis-doc repo.
      
      commit 02dec7e
      Author: Klauswk <klauswk1@hotmail.com>
      Date:   Tue Oct 24 16:18:38 2017 -0200
      
          Fix typo in comment
      
      commit e1efbc8
      Author: chenshi <baiwfg2@gmail.com>
      Date:   Tue Oct 3 18:26:30 2017 +0800
      
          Correct two spelling errors of comments
      
      commit 93327d8
      Author: spacewander <spacewanderlzx@gmail.com>
      Date:   Wed Sep 13 16:47:24 2017 +0800
      
          Update the comment for OBJ_ENCODING_EMBSTR_SIZE_LIMIT's value
      
          The value of OBJ_ENCODING_EMBSTR_SIZE_LIMIT is 44 now instead of 39.
      
      commit 63d361f
      Author: spacewander <spacewanderlzx@gmail.com>
      Date:   Tue Sep 12 15:06:42 2017 +0800
      
          Fix <prevlen> related doc in ziplist.c
      
          According to the definition of ZIP_BIG_PREVLEN and other related code,
          the guard of single byte <prevlen> should be 254 instead of 255.
      
      commit ebe228d
      Author: hanael80 <hanael80@gmail.com>
      Date:   Tue Aug 15 09:09:40 2017 +0900
      
          Fix typo
      
      commit 6b696e6
      Author: Matt Robenolt <matt@ydekproductions.com>
      Date:   Mon Aug 14 14:50:47 2017 -0700
      
          Fix typo in LATENCY DOCTOR output
      
      commit a2ec6ae
      Author: caosiyang <caosiyang@qiyi.com>
      Date:   Tue Aug 15 14:15:16 2017 +0800
      
          Fix a typo: form => from
      
      commit 3ab7699
      Author: caosiyang <caosiyang@qiyi.com>
      Date:   Thu Aug 10 18:40:33 2017 +0800
      
          Fix a typo: replicationFeedSlavesFromMaster() => replicationFeedSlavesFromMasterStream()
      
      commit 72d43ef
      Author: caosiyang <caosiyang@qiyi.com>
      Date:   Tue Aug 8 15:57:25 2017 +0800
      
          fix a typo: servewr => server
      
      commit 707c958
      Author: Bo Cai <charpty@gmail.com>
      Date:   Wed Jul 26 21:49:42 2017 +0800
      
          redis-cli.c typo: conut -> count.
      Signed-off-by: default avatarBo Cai <charpty@gmail.com>
      
      commit b9385b2
      Author: JackDrogon <jack.xsuperman@gmail.com>
      Date:   Fri Jun 30 14:22:31 2017 +0800
      
          Fix some spell problems
      
      commit 20d9230
      Author: akosel <aaronjkosel@gmail.com>
      Date:   Sun Jun 4 19:35:13 2017 -0500
      
          Fix typo
      
      commit b167bfc
      Author: Krzysiek Witkowicz <krzysiekwitkowicz@gmail.com>
      Date:   Mon May 22 21:32:27 2017 +0100
      
          Fix #4008 small typo in comment
      
      commit 2b78ac8
      Author: Jake Clarkson <jacobwclarkson@gmail.com>
      Date:   Wed Apr 26 15:49:50 2017 +0100
      
          Correct typo in tests/unit/hyperloglog.tcl
      
      commit b0f1cdb
      Author: Qi Luo <qiluo-msft@users.noreply.github.com>
      Date:   Wed Apr 19 14:25:18 2017 -0700
      
          Fix typo
      
      commit a90b0f9
      Author: charsyam <charsyam@naver.com>
      Date:   Thu Mar 16 18:19:53 2017 +0900
      
          fix typos
      
          fix typos
      
          fix typos
      
      commit 8430a79
      Author: Richard Hart <richardhart92@gmail.com>
      Date:   Mon Mar 13 22:17:41 2017 -0400
      
          Fixed log message typo in listenToPort.
      
      commit 481a1c2
      Author: Vinod Kumar <kumar003vinod@gmail.com>
      Date:   Sun Jan 15 23:04:51 2017 +0530
      
          src/db.c: Correct "save" -> "safe" typo
      
      commit 586b4d3
      Author: wangshaonan <wshn13@gmail.com>
      Date:   Wed Dec 21 20:28:27 2016 +0800
      
          Fix typo they->the in helloworld.c
      
      commit c1c4b5e
      Author: Jenner <hypxm@qq.com>
      Date:   Mon Dec 19 16:39:46 2016 +0800
      
          typo error
      
      commit 1ee1a3f
      Author: tielei <43289893@qq.com>
      Date:   Mon Jul 18 13:52:25 2016 +0800
      
          fix some comments
      
      commit 11a41fb
      Author: Otto Kekäläinen <otto@seravo.fi>
      Date:   Sun Jul 3 10:23:55 2016 +0100
      
          Fix spelling in documentation and comments
      
      commit 5fb5d82
      Author: francischan <f1ancis621@gmail.com>
      Date:   Tue Jun 28 00:19:33 2016 +0800
      
          Fix outdated comments about redis.c file.
          It should now refer to server.c file.
      
      commit 6b254bc
      Author: lmatt-bit <lmatt123n@gmail.com>
      Date:   Thu Apr 21 21:45:58 2016 +0800
      
          Refine the comment of dictRehashMilliseconds func
      
      SLAVECONF->REPLCONF in comment - by andyli029
      
      commit ee9869f
      Author: clark.kang <charsyam@naver.com>
      Date:   Tue Mar 22 11:09:51 2016 +0900
      
          fix typos
      
      commit f7b3b11
      Author: Harisankar H <harisankarh@gmail.com>
      Date:   Wed Mar 9 11:49:42 2016 +0530
      
          Typo correction: "faield" --> "failed"
      
          Typo correction: "faield" --> "failed"
      
      commit 3fd40fc
      Author: Itamar Haber <itamar@redislabs.com>
      Date:   Thu Feb 25 10:31:51 2016 +0200
      
          Fixes a typo in comments
      
      commit 621c160
      Author: Prayag Verma <prayag.verma@gmail.com>
      Date:   Mon Feb 1 12:36:20 2016 +0530
      
          Fix typo in Readme.md
      
          Spelling mistakes -
          `eviciton` > `eviction`
          `familar` > `familiar`
      
      commit d7d07d6
      Author: WonCheol Lee <toctoc21c@gmail.com>
      Date:   Wed Dec 30 15:11:34 2015 +0900
      
          Typo fixed
      
      commit a4dade7
      Author: Felix Bünemann <buenemann@louis.info>
      Date:   Mon Dec 28 11:02:55 2015 +0100
      
          [ci skip] Improve supervised upstart config docs
      
          This mentions that "expect stop" is required for supervised upstart
          to work correctly. See http://upstart.ubuntu.com/cookbook/#expect-stop
      
      
          for an explanation.
      
      commit d9caba9
      Author: daurnimator <quae@daurnimator.com>
      Date:   Mon Dec 21 18:30:03 2015 +1100
      
          README: Remove trailing whitespace
      
      commit 72d42e5
      Author: daurnimator <quae@daurnimator.com>
      Date:   Mon Dec 21 18:29:32 2015 +1100
      
          README: Fix typo. th => the
      
      commit dd6e957
      Author: daurnimator <quae@daurnimator.com>
      Date:   Mon Dec 21 18:29:20 2015 +1100
      
          README: Fix typo. familar => familiar
      
      commit 3a12b23
      Author: daurnimator <quae@daurnimator.com>
      Date:   Mon Dec 21 18:28:54 2015 +1100
      
          README: Fix typo. eviciton => eviction
      
      commit 2d1d03b
      Author: daurnimator <quae@daurnimator.com>
      Date:   Mon Dec 21 18:21:45 2015 +1100
      
          README: Fix typo. sever => server
      
      commit 3973b06
      Author: Itamar Haber <itamar@garantiadata.com>
      Date:   Sat Dec 19 17:01:20 2015 +0200
      
          Typo fix
      
      commit 4f2e460
      Author: Steve Gao <fu@2token.com>
      Date:   Fri Dec 4 10:22:05 2015 +0800
      
          Update README - fix typos
      
      commit b21667c
      Author: binyan <binbin.yan@nokia.com>
      Date:   Wed Dec 2 22:48:37 2015 +0800
      
          delete redundancy color judge in sdscatcolor
      
      commit 88894c7
      Author: binyan <binbin.yan@nokia.com>
      Date:   Wed Dec 2 22:14:42 2015 +0800
      
          the example output shoule be HelloWorld
      
      commit 2763470
      Author: binyan <binbin.yan@nokia.com>
      Date:   Wed Dec 2 17:41:39 2015 +0800
      
          modify error word keyevente
      Signed-off-by: default avatarbinyan <binbin.yan@nokia.com>
      
      commit 0847b3d
      Author: Bruno Martins <bscmartins@gmail.com>
      Date:   Wed Nov 4 11:37:01 2015 +0000
      
          typo
      
      commit bbb9e9e
      Author: dawedawe <dawedawe@gmx.de>
      Date:   Fri Mar 27 00:46:41 2015 +0100
      
          typo: zimap -> zipmap
      
      commit 5ed297e
      Author: Axel Advento <badwolf.bloodseeker.rev@gmail.com>
      Date:   Tue Mar 3 15:58:29 2015 +0800
      
          Fix 'salve' typos to 'slave'
      
      commit edec9d6
      Author: LudwikJaniuk <ludvig.janiuk@gmail.com>
      Date:   Wed Jun 12 14:12:47 2019 +0200
      
          Update README.md
      Co-Authored-By: default avatarQix <Qix-@users.noreply.github.com>
      
      commit 692a7af
      Author: LudwikJaniuk <ludvig.janiuk@gmail.com>
      Date:   Tue May 28 14:32:04 2019 +0200
      
          grammar
      
      commit d962b0a
      Author: Nick Frost <nickfrostatx@gmail.com>
      Date:   Wed Jul 20 15:17:12 2016 -0700
      
          Minor grammar fix
      
      commit 24fff01aaccaf5956973ada8c50ceb1462e211c6 (typos)
      Author: Chad Miller <chadm@squareup.com>
      Date:   Tue Sep 8 13:46:11 2020 -0400
      
          Fix faulty comment about operation of unlink()
      
      commit 3cd5c1f3326c52aa552ada7ec797c6bb16452355
      Author: Kevin <kevin.xgr@gmail.com>
      Date:   Wed Nov 20 00:13:50 2019 +0800
      
          Fix typo in server.c.
      
      From a83af59 Mon Sep 17 00:00:00 2001
      From: wuwo <wuwo@wacai.com>
      Date: Fri, 17 Mar 2017 20:37:45 +0800
      Subject: [PATCH] falure to failure
      
      From c961896 Mon Sep 17 00:00:00 2001
      From: =?UTF-8?q?=E5=B7=A6=E6=87=B6?= <veficos@gmail.com>
      Date: Sat, 27 May 2017 15:33:04 +0800
      Subject: [PATCH] fix typo
      
      From e600ef2 Mon Sep 17 00:00:00 2001
      From: "rui.zou" <rui.zou@yunify.com>
      Date: Sat, 30 Sep 2017 12:38:15 +0800
      Subject: [PATCH] fix a typo
      
      From c7d07fa Mon Sep 17 00:00:00 2001
      From: Alexandre Perrin <alex@kaworu.ch>
      Date: Thu, 16 Aug 2018 10:35:31 +0200
      Subject: [PATCH] deps README.md typo
      
      From b25cb67 Mon Sep 17 00:00:00 2001
      From: Guy Korland <gkorland@gmail.com>
      Date: Wed, 26 Sep 2018 10:55:37 +0300
      Subject: [PATCH 1/2] fix typos in header
      
      From ad28ca6 Mon Sep 17 00:00:00 2001
      From: Guy Korland <gkorland@gmail.com>
      Date: Wed, 26 Sep 2018 11:02:36 +0300
      Subject: [PATCH 2/2] fix typos
      
      commit 34924cdedd8552466fc22c1168d49236cb7ee915
      Author: Adrian Lynch <adi_ady_ade@hotmail.com>
      Date:   Sat Apr 4 21:59:15 2015 +0100
      
          Typos fixed
      
      commit fd2a1e7
      Author: Jan <jsteemann@users.noreply.github.com>
      Date:   Sat Oct 27 19:13:01 2018 +0200
      
          Fix typos
      
          Fix typos
      
      commit e14e47c1a234b53b0e103c5f6a1c61481cbcbb02
      Author: Andy Lester <andy@petdance.com>
      Date:   Fri Aug 2 22:30:07 2019 -0500
      
          Fix multiple misspellings of "following"
      
      commit 79b948ce2dac6b453fe80995abbcaac04c213d5a
      Author: Andy Lester <andy@petdance.com>
      Date:   Fri Aug 2 22:24:28 2019 -0500
      
          Fix misspelling of create-cluster
      
      commit 1fffde52666dc99ab35efbd31071a4c008cb5a71
      Author: Andy Lester <andy@petdance.com>
      Date:   Wed Jul 31 17:57:56 2019 -0500
      
          Fix typos
      
      commit 204c9ba9651e9e05fd73936b452b9a30be456cfe
      Author: Xiaobo Zhu <xiaobo.zhu@shopee.com>
      Date:   Tue Aug 13 22:19:25 2019 +0800
      
          fix typos
      
      Squashed commit of the following:
      
      commit 1d9aaf8
      Author: danmedani <danmedani@gmail.com>
      Date:   Sun Aug 2 11:40:26 2015 -0700
      
      README typo fix.
      
      Squashed commit of the following:
      
      commit 32bfa7c
      Author: Erik Dubbelboer <erik@dubbelboer.com>
      Date:   Mon Jul 6 21:15:08 2015 +0200
      
      Fixed grammer
      
      Squashed commit of the following:
      
      commit b24f69c
      Author: Sisir Koppaka <sisir.koppaka@gmail.com>
      Date:   Mon Mar 2 22:38:45 2015 -0500
      
      utils/hashtable/rehashing.c: Fix typos
      
      Squashed commit of the following:
      
      commit 4e04082
      Author: Erik Dubbelboer <erik@dubbelboer.com>
      Date:   Mon Mar 23 08:22:21 2015 +0000
      
      Small config file documentation improvements
      
      Squashed commit of the following:
      
      commit acb8773
      Author: ctd1500 <ctd1500@gmail.com>
      Date:   Fri May 8 01:52:48 2015 -0700
      
      Typo and grammar fixes in readme
      
      commit 2eb75b6
      Author: ctd1500 <ctd1500@gmail.com>
      Date:   Fri May 8 01:36:18 2015 -0700
      
      fixed redis.conf comment
      
      Squashed commit of the following:
      
      commit a8249a2
      Author: Masahiko Sawada <sawada.mshk@gmail.com>
      Date:   Fri Dec 11 11:39:52 2015 +0530
      
      Revise correction of typos.
      
      Squashed commit of the following:
      
      commit 3c02028
      Author: zhaojun11 <zhaojun11@jd.com>
      Date:   Wed Jan 17 19:05:28 2018 +0800
      
      Fix typos include two code typos in cluster.c and latency.c
      
      Squashed commit of the following:
      
      commit 9dba47c
      Author: q191201771 <191201771@qq.com>
      Date:   Sat Jan 4 11:31:04 2020 +0800
      
      fix function listCreate comment in adlist.c
      
      Update src/server.c
      
      commit 2c7c2cb536e78dd211b1ac6f7bda00f0f54faaeb
      Author: charpty <charpty@gmail.com>
      Date:   Tue May 1 23:16:59 2018 +0800
      
          server.c typo: modules system dictionary type comment
      Signed-off-by: default avatarcharpty <charpty@gmail.com>
      
      commit a8395323fb63cb59cb3591cb0f0c8edb7c29a680
      Author: Itamar Haber <itamar@redislabs.com>
      Date:   Sun May 6 00:25:18 2018 +0300
      
          Updates test_helper.tcl's help with undocumented options
      
          Specifically:
      
          * Host
          * Port
          * Client
      
      commit bde6f9ced15755cd6407b4af7d601b030f36d60b
      Author: wxisme <850885154@qq.com>
      Date:   Wed Aug 8 15:19:19 2018 +0800
      
          fix comments in deps files
      
      commit 3172474ba991532ab799ee1873439f3402412331
      Author: wxisme <850885154@qq.com>
      Date:   Wed Aug 8 14:33:49 2018 +0800
      
          fix some comments
      
      commit 01b6f2b6858b5cf2ce4ad5092d2c746e755f53f0
      Author: Thor Juhasz <thor@juhasz.pro>
      Date:   Sun Nov 18 14:37:41 2018 +0100
      
          Minor fixes to comments
      
          Found some parts a little unclear on a first read, which prompted me to have a better look at the file and fix some minor things I noticed.
          Fixing minor typos and grammar. There are no changes to configuration options.
          These changes are only meant to help the user better understand the explanations to the various configuration options
      1c710385
  14. 17 Aug, 2020 1 commit
  15. 14 May, 2020 1 commit
  16. 22 Mar, 2020 1 commit
    • Yossi Gottlieb's avatar
      Conns: Fix connClose() / connAccept() behavior. · fa9aa908
      Yossi Gottlieb authored
      We assume accept handlers may choose to reject a connection and close
      it, but connAccept() callers can't distinguish between this state and
      other error states requiring connClose().
      
      This makes it safe (and mandatory!) to always call connClose() if
      connAccept() fails, and safe for accept handlers to close connections
      (which will defer).
      fa9aa908
  17. 07 Oct, 2019 3 commits
    • Oran Agra's avatar
      TLS: Implement support for write barrier. · 6b629480
      Oran Agra authored
      6b629480
    • Oran Agra's avatar
      diskless replication rdb transfer uses pipe, and writes to sockets form the parent process. · 5a477946
      Oran Agra authored
      misc:
      - handle SSL_has_pending by iterating though these in beforeSleep, and setting timeout of 0 to aeProcessEvents
      - fix issue with epoll signaling EPOLLHUP and EPOLLERR only to the write handlers. (needed to detect the rdb pipe was closed)
      - add key-load-delay config for testing
      - trim connShutdown which is no longer needed
      - rioFdsetWrite -> rioFdWrite - simplified since there's no longer need to write to multiple FDs
      - don't detect rdb child exited (don't call wait3) until we detect the pipe is closed
      - Cleanup bad optimization from rio.c, add another one
      5a477946
    • 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