]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Relocate and rename some functions
authorpcarana <pc.moreno2099@gmail.com>
Tue, 7 May 2019 16:22:31 +0000 (11:22 -0500)
committerpcarana <pc.moreno2099@gmail.com>
Tue, 7 May 2019 16:22:31 +0000 (11:22 -0500)
src/address.c
src/address.h
src/json_parser.c
src/json_parser.h
src/slurm/slurm_parser.c

index 6766302136fbef159e7f691d5f0b4509990ddfb1..8a4ba6a4701af2f4d055b8b5e02645fa0d22e6e5 100644 (file)
@@ -394,7 +394,7 @@ str2addr6(const char *addr, struct in6_addr *dst)
 }
 
 int
-str_to_prefix4(const char *str, struct ipv4_prefix *result)
+prefix4_parse(const char *str, struct ipv4_prefix *result)
 {
        int error;
 
@@ -409,7 +409,7 @@ str_to_prefix4(const char *str, struct ipv4_prefix *result)
 }
 
 int
-str_to_prefix6(const char *str, struct ipv6_prefix *result)
+prefix6_parse(const char *str, struct ipv6_prefix *result)
 {
        int error;
 
@@ -424,7 +424,7 @@ str_to_prefix6(const char *str, struct ipv6_prefix *result)
 }
 
 int
-str_to_prefix_length(const char *text, uint8_t *dst, uint8_t max_value)
+prefix_length_parse(const char *text, uint8_t *dst, uint8_t max_value)
 {
        unsigned long len;
 
index f7869937123462029795a3e47bb3bd9d8aa900a3..d3453752cdfb0be2e769ee176e958e6899a9787f 100644 (file)
@@ -38,9 +38,9 @@ int prefix6_decode(IPAddress_t const *, struct ipv6_prefix *);
 int range4_decode(IPAddressRange_t const *, struct ipv4_range *);
 int range6_decode(IPAddressRange_t const *, struct ipv6_range *);
 
-int str_to_prefix4(const char *, struct ipv4_prefix *);
-int str_to_prefix6(const char *, struct ipv6_prefix *);
-int str_to_prefix_length(const char *, uint8_t *, uint8_t);
+int prefix4_parse(const char *, struct ipv4_prefix *);
+int prefix6_parse(const char *, struct ipv6_prefix *);
+int prefix_length_parse(const char *, uint8_t *, uint8_t);
 
 int ipv4_prefix_validate(struct ipv4_prefix *);
 int ipv6_prefix_validate(struct ipv6_prefix *);
index e868716be88d2da4e6f5af50f4bc43385fea6ccf..3b567412398d63a2b022df11bf455dc42bcd2521 100644 (file)
@@ -86,3 +86,15 @@ json_get_object(json_t *parent, char const *name)
 
        return child;
 }
+
+/*
+ * Any unknown members should be treated as errors, RFC8416 3.1:
+ * "JSON members that are not defined here MUST NOT be used in SLURM
+ * files. An RP MUST consider any deviations from the specifications to
+ * be errors."
+ */
+bool
+json_valid_members_count(json_t *object, size_t expected_size)
+{
+       return json_object_size(object) == expected_size;
+}
index 4567452afe059c35b70b1f3c5a6dcebc921b6e1c..b3afe5563577bcee7c656fe5fbe2c8fc46f50d54 100644 (file)
@@ -2,10 +2,13 @@
 #define SRC_JSON_PARSER_H_
 
 #include <jansson.h>
+#include <stdbool.h>
 
 int json_get_string(json_t *, char const *, char const **);
 int json_get_int(json_t *, char const *, json_int_t *);
 json_t *json_get_array(json_t *, char const *);
 json_t *json_get_object(json_t *, char const *);
 
+bool json_valid_members_count(json_t *, size_t);
+
 #endif /* SRC_JSON_PARSER_H_ */
index b1bf139f7d40accfc561a98a3b243eed5860bca0..ce6c1d86af3de7ff98c3de14bcedfa08391ab731 100644 (file)
@@ -1,7 +1,6 @@
 #include "slurm_parser.h"
 
 #include <errno.h>
-#include <stdbool.h>
 #include <stdint.h>
 #include <string.h>
 #include <openssl/evp.h>
@@ -56,42 +55,6 @@ slurm_parse(char const *location)
        return error;
 }
 
-static int
-parse_prefix4(char *text, struct ipv4_prefix *prefixv4)
-{
-       if (text == NULL)
-               return -EINVAL;
-       return str_to_prefix4(text, prefixv4);
-}
-
-static int
-parse_prefix6(char *text, struct ipv6_prefix *prefixv6)
-{
-       if (text == NULL)
-               return -EINVAL;
-       return str_to_prefix6(text, prefixv6);
-}
-
-static int
-parse_prefix_length(char *text, uint8_t *value, uint8_t max_value)
-{
-       if (text == NULL)
-               return -EINVAL;
-       return str_to_prefix_length(text, value, max_value);
-}
-
-/*
- * Any unknown members should be treated as errors, RFC8416 3.1:
- * "JSON members that are not defined here MUST NOT be used in SLURM
- * files. An RP MUST consider any deviations from the specifications to
- * be errors."
- */
-static bool
-valid_members_count(json_t *object, size_t expected_size)
-{
-       return json_object_size(object) == expected_size;
-}
-
 static int
 set_asn(json_t *object, bool is_assertion, uint32_t *result, uint8_t *flag,
     size_t *members_loaded)
@@ -166,9 +129,9 @@ set_prefix(json_t *object, bool is_assertion, struct slurm_prefix *result,
        token = strtok(clone, "/");
        isv4 = strchr(token, ':') == NULL;
        if (isv4)
-               error = parse_prefix4(token, &prefixv4);
+               error = prefix4_parse(token, &prefixv4);
        else
-               error = parse_prefix6(token, &prefixv6);
+               error = prefix6_parse(token, &prefixv6);
 
        if (error) {
                free(clone);
@@ -177,7 +140,7 @@ set_prefix(json_t *object, bool is_assertion, struct slurm_prefix *result,
 
        /* Second part: Prefix length in numeric format */
        token = strtok(NULL, "/");
-       error = parse_prefix_length(token,
+       error = prefix_length_parse(token,
            (isv4 ? &prefixv4.len : &prefixv6.len),
            (isv4 ? 32 : 128));
        free(clone);
@@ -413,7 +376,7 @@ load_single_prefix(json_t *object, bool is_assertion)
                }
 
                /* Validate expected members */
-               if (!valid_members_count(object, member_count)) {
+               if (!json_valid_members_count(object, member_count)) {
                        pr_err("Prefix filter has unknown members (see RFC 8416 section 3.3.1)");
                        error = -EINVAL;
                        goto release_comment;
@@ -440,7 +403,7 @@ load_single_prefix(json_t *object, bool is_assertion)
                }
 
        /* Validate expected members */
-       if (!valid_members_count(object, member_count)) {
+       if (!json_valid_members_count(object, member_count)) {
                pr_err("Prefix assertion has unknown members (see RFC 8416 section 3.4.1)");
                error = -EINVAL;
                goto release_comment;
@@ -546,7 +509,7 @@ load_single_bgpsec(json_t *object, bool is_assertion)
                }
 
                /* Validate expected members */
-               if (!valid_members_count(object, member_count)) {
+               if (!json_valid_members_count(object, member_count)) {
                        pr_err("BGPsec filter has unknown members (see RFC 8416 section 3.3.2)");
                        error = -EINVAL;
                        goto release_comment;
@@ -560,7 +523,7 @@ load_single_bgpsec(json_t *object, bool is_assertion)
        }
 
        /* Validate expected members */
-       if (!valid_members_count(object, member_count)) {
+       if (!json_valid_members_count(object, member_count)) {
                pr_err("BGPsec assertion has unknown members (see RFC 8416 section 3.4.2)");
                error = -EINVAL;
                goto release_comment;
@@ -644,7 +607,7 @@ load_filters(json_t *root)
        CHECK_REQUIRED(bgpsec, BGPSEC_FILTERS)
 
        expected_members = 2;
-       if (!valid_members_count(filters, expected_members))
+       if (!json_valid_members_count(filters, expected_members))
                return pr_err(
                    "SLURM '%s' must contain only %lu members (RFC 8416 section 3.2)",
                    VALIDATION_OUTPUT_FILTERS,
@@ -679,7 +642,7 @@ load_assertions(json_t *root)
        CHECK_REQUIRED(bgpsec, BGPSEC_ASSERTIONS)
 
        expected_members = 2;
-       if (!valid_members_count(assertions, expected_members))
+       if (!json_valid_members_count(assertions, expected_members))
                return pr_err(
                    "SLURM '%s' must contain only %lu members (RFC 8416 section 3.2)",
                    LOCALLY_ADDED_ASSERTIONS,
@@ -718,7 +681,7 @@ handle_json(json_t *root)
                return error;
 
        expected_members = 3;
-       if (!valid_members_count(root, expected_members))
+       if (!json_valid_members_count(root, expected_members))
                return pr_err(
                    "SLURM root must have only %lu members (RFC 8416 section 3.2)",
                    expected_members);