]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
redis: improve error processing in knot_redis_tls_read() and knot_redis_tls_write()
authorDaniel Salzman <daniel.salzman@nic.cz>
Mon, 10 Nov 2025 13:09:19 +0000 (14:09 +0100)
committerDaniel Salzman <daniel.salzman@nic.cz>
Wed, 26 Nov 2025 14:49:47 +0000 (15:49 +0100)
src/knot/common/hiredis.c

index 4f1ea01f00830c99da6315dbd07386a73f58cb2b..37cfcd3290b8ffd859e8c466d6e28859e3b20b3e 100644 (file)
@@ -71,15 +71,11 @@ static ssize_t knot_redis_tls_read(struct redisContext *ctx, char *buff, size_t
        int ret = knot_tls_recv(tls_ctx->conn, buff, size);
        if (ret >= 0) {
                return ret;
-       } else if (ret == KNOT_EBADCERT ||
-                  ret == KNOT_NET_ERECV ||
-                  ret == KNOT_NET_ECONNECT ||
-                  ret == KNOT_NET_EHSHAKE ||
-                  ret == KNOT_ETIMEOUT
-       ) {
+       } else if (ret == KNOT_NET_EAGAIN) {
+               return 0;
+       } else {
                return -1;
        }
-       return 0;
 }
 
 static ssize_t knot_redis_tls_write(struct redisContext *ctx)
@@ -89,15 +85,11 @@ static ssize_t knot_redis_tls_write(struct redisContext *ctx)
        int ret = knot_tls_send(tls_ctx->conn, ctx->obuf, sdslen(ctx->obuf));
        if (ret >= 0) {
                return ret;
-       } else if (ret == KNOT_EBADCERT ||
-                  ret == KNOT_NET_ESEND ||
-                  ret == KNOT_NET_ECONNECT ||
-                  ret == KNOT_NET_EHSHAKE ||
-                  ret == KNOT_ETIMEOUT
-       ) {
+       } else if (ret == KNOT_NET_EAGAIN) {
+               return 0;
+       } else {
                return -1;
        }
-       return 0;
 }
 
 static int hiredis_attach_gnutls(redisContext *ctx, struct knot_creds *local_creds,