]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
Minor fixes.
authorKarel Slany <karel.slany@nic.cz>
Fri, 1 Jul 2016 11:14:37 +0000 (13:14 +0200)
committerOndřej Surý <ondrej@sury.org>
Thu, 11 Aug 2016 12:06:45 +0000 (14:06 +0200)
modules/cookiectl/cookiectl.c

index cebb5058d002e524df48063b3ae906a50d47c23c..8f1d16b759f720c666a87690cf1faf60ded3a57a 100644 (file)
@@ -142,26 +142,30 @@ static bool apply_secret(struct kr_cookie_secret **sec, const JsonNode *node)
        return true;
 }
 
-static bool apply_hash_func(struct kr_cookie_settings *sett,
-                            const JsonNode *node, const knot_lookup_t table[])
+static bool apply_hash_func(int *alg_id, const JsonNode *node,
+                            const knot_lookup_t table[])
 {
+       assert(alg_id && node && table);
+
        if (node->tag == JSON_STRING) {
                const knot_lookup_t *lookup = knot_lookup_by_name(table,
                                                                  node->string_);
                if (!lookup) {
                        return false;
                }
-               sett->current.alg_id = lookup->id;
+               *alg_id = lookup->id;
                return true;
        }
 
        return false;
 }
 
-static bool apply_cache_ttl(struct kr_cookie_ctx *cntrl, const JsonNode *node)
+static bool apply_cache_ttl(uint32_t *cache_ttl, const JsonNode *node)
 {
+       assert(cache_ttl && node);
+
        if (node->tag == JSON_NUMBER) {
-               cntrl->cache_ttl = node->number_;
+               *cache_ttl = node->number_;
                return true;
        }
 
@@ -183,15 +187,17 @@ static bool apply_configuration(struct kr_cookie_ctx *cntrl,
        } else if (strcmp(node->key, NAME_CLIENT_SECRET) == 0) {
                return apply_secret(&cntrl->clnt.current.secr, node);
        } else  if (strcmp(node->key, NAME_CLIENT_COOKIE_ALG) == 0) {
-               return apply_hash_func(&cntrl->clnt, node, kr_cc_alg_names);
+               return apply_hash_func(&cntrl->clnt.current.alg_id, node,
+                                      kr_cc_alg_names);
        } else if (strcmp(node->key, NAME_CACHE_TTL) == 0) {
-               return apply_cache_ttl(cntrl, node);
+               return apply_cache_ttl(&cntrl->cache_ttl, node);
        } else if (strcmp(node->key, NAME_SERVER_ENABLED) == 0) {
                return aply_enabled(&cntrl->srvr.enabled, node);
        } else if (strcmp(node->key, NAME_SERVER_SECRET) == 0) {
                return apply_secret(&cntrl->srvr.current.secr, node);
        } else if (strcmp(node->key, NAME_SERVER_COOKIE_ALG) == 0) {
-               return apply_hash_func(&cntrl->srvr, node, kr_sc_alg_names);
+               return apply_hash_func(&cntrl->srvr.current.alg_id, node,
+                                      kr_sc_alg_names);
        }
 
        return false;
@@ -345,6 +351,9 @@ char *read_config(struct kr_cookie_ctx *ctx)
        const knot_lookup_t *lookup;
        char *result;
        JsonNode *root_node = json_mkobject();
+       if (!root_node) {
+               return NULL;
+       }
 
        json_append_member(root_node, NAME_CLIENT_ENABLED,
                           json_mkbool(ctx->clnt.enabled));