diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-06-21 13:18:35 +0200 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-06-29 08:32:59 +0200 |
| commit | a169a1cef5332a409efc2db07bcc1ae9b72f217e (patch) | |
| tree | 73475b759b22db778527ef4d7ae016bc12398670 /src/lib | |
| parent | 47034834790e778f28b082842b3ed1c7bd44f29a (diff) | |
| download | ouroboros-a169a1cef5332a409efc2db07bcc1ae9b72f217e.tar.gz ouroboros-a169a1cef5332a409efc2db07bcc1ae9b72f217e.zip | |
lib: Group sec_config authentication fields
Nest the flat req_auth and cacert members of struct sec_config into a
sub-struct a { req; cacert; }, keeping the authentication settings
together.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/crypt.c | 10 | ||||
| -rw-r--r-- | src/lib/tests/kex_test.c | 16 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/lib/crypt.c b/src/lib/crypt.c index e4b65cf0..a34e7298 100644 --- a/src/lib/crypt.c +++ b/src/lib/crypt.c @@ -173,7 +173,7 @@ int parse_sec_config(struct sec_config * cfg, SET_KEX_KDF_NID(cfg, NID_sha256); SET_KEX_CIPHER_NID(cfg, NID_aes_256_gcm); SET_KEX_DIGEST_NID(cfg, NID_sha256); - /* req_auth is seeded per-role by the caller; only auth= overrides it */ + /* a.req is seeded per-role by the caller; only auth= overrides it */ while (fgets(line, sizeof(line), fp) != NULL) { char * trimmed; @@ -223,16 +223,16 @@ int parse_sec_config(struct sec_config * cfg, } } else if (strcmp(key, "auth") == 0) { if (strcmp(value, "required") == 0) { - cfg->req_auth = true; + cfg->a.req = true; } else if (strcmp(value, "optional") == 0) { - cfg->req_auth = false; + cfg->a.req = false; } else { return -EINVAL; } } else if (strcmp(key, "cacert") == 0) { - if (strlen(value) >= sizeof(cfg->cacert)) + if (strlen(value) >= sizeof(cfg->a.cacert)) return -EINVAL; - strcpy(cfg->cacert, value); + strcpy(cfg->a.cacert, value); } else if (strcmp(key, "encryption") == 0) { if (strcmp(value, "none") != 0) return -EINVAL; diff --git a/src/lib/tests/kex_test.c b/src/lib/tests/kex_test.c index 786e1977..0a00ccab 100644 --- a/src/lib/tests/kex_test.c +++ b/src/lib/tests/kex_test.c @@ -890,7 +890,7 @@ static int test_kex_parse_config_auth(void) goto fail; } - if (!kex.req_auth) { + if (!kex.a.req) { printf("auth=required not parsed correctly.\n"); fclose(fp); goto fail; @@ -946,7 +946,7 @@ static int test_kex_parse_config_auth_seed(void) TEST_START(); memset(&kex, 0, sizeof(kex)); - kex.req_auth = true; + kex.a.req = true; fp = FMEMOPEN_STR(KEX_CONFIG_NO_ENC); if (fp == NULL) { @@ -960,7 +960,7 @@ static int test_kex_parse_config_auth_seed(void) goto fail; } - if (!kex.req_auth) { + if (!kex.a.req) { printf("Seeded req_auth should survive parsing.\n"); fclose(fp); goto fail; @@ -985,7 +985,7 @@ static int test_kex_parse_config_auth_optional(void) TEST_START(); memset(&kex, 0, sizeof(kex)); - kex.req_auth = true; + kex.a.req = true; fp = FMEMOPEN_STR(KEX_CONFIG_AUTH_OPTIONAL); if (fp == NULL) { @@ -999,7 +999,7 @@ static int test_kex_parse_config_auth_optional(void) goto fail; } - if (kex.req_auth) { + if (kex.a.req) { printf("auth=optional should clear req_auth.\n"); fclose(fp); goto fail; @@ -1037,7 +1037,7 @@ static int test_kex_parse_config_auth_no_enc(const char * config) goto fail; } - if (!kex.req_auth) { + if (!kex.a.req) { printf("encryption=none should not drop required auth.\n"); fclose(fp); goto fail; @@ -1086,14 +1086,14 @@ static int test_kex_parse_config_cacert(void) goto fail; } - if (strcmp(kex.cacert, + if (strcmp(kex.a.cacert, "/etc/ouroboros/security/cacert/ca.crt") != 0) { printf("cacert not parsed correctly.\n"); fclose(fp); goto fail; } - if (kex.req_auth) { + if (kex.a.req) { printf("cacert must not imply req_auth.\n"); fclose(fp); goto fail; |
