diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-04-18 12:52:34 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-04-18 12:52:34 +0000 |
| commit | 49a26b0671b3fbe932a0a26e9414cce6e8ef3ec2 (patch) | |
| tree | d1a158e29649a319da157491a40f9cfdef329183 /src/sbearssl | |
| parent | 94f7c378aa7e5f261a3c9e80bfd8a12a264e7ec6 (diff) | |
| download | s6-networking-49a26b0671b3fbe932a0a26e9414cce6e8ef3ec2.tar.gz | |
Prepare for 2.8.0.0; convert tls programs to gol, add noverifycert
Diffstat (limited to 'src/sbearssl')
| -rw-r--r-- | src/sbearssl/deps-lib/sbearssl | 1 | ||||
| -rw-r--r-- | src/sbearssl/sbearssl_client_init_and_run.c | 2 | ||||
| -rw-r--r-- | src/sbearssl/sbearssl_server_init_and_run.c | 2 | ||||
| -rw-r--r-- | src/sbearssl/sbearssl_x509_small_init_full.c | 42 | ||||
| -rw-r--r-- | src/sbearssl/sbearssl_x509_small_init_full_options.c | 46 |
5 files changed, 42 insertions, 51 deletions
diff --git a/src/sbearssl/deps-lib/sbearssl b/src/sbearssl/deps-lib/sbearssl index cab0e36..ca68ead 100644 --- a/src/sbearssl/deps-lib/sbearssl +++ b/src/sbearssl/deps-lib/sbearssl @@ -53,7 +53,6 @@ sbearssl_x500_from_ta.o sbearssl_x500_name_len.o sbearssl_x509_minimal_set_tai.o sbearssl_x509_small_init_full.o -sbearssl_x509_small_init_full_options.o sbearssl_x509_small_vtable.o sbearssl_dayseconds_from_tai.o sbearssl_tai_from_dayseconds.o diff --git a/src/sbearssl/sbearssl_client_init_and_run.c b/src/sbearssl/sbearssl_client_init_and_run.c index 5dc764f..63f4bbd 100644 --- a/src/sbearssl/sbearssl_client_init_and_run.c +++ b/src/sbearssl/sbearssl_client_init_and_run.c @@ -45,7 +45,7 @@ void sbearssl_client_init_and_run (int *fds, tain const *tto, uint32_t preoption br_x509_minimal_context dummy ; /* wasteful but the only simple API we have */ br_ssl_client_init_full(&cc, &dummy, btas, n) ; } - sbearssl_x509_small_init_full_options(&xc, btas, n, &cbarg->eedn, &cbarg->eltstatus, cbarg->eehash, !!(preoptions & 2)) ; + sbearssl_x509_small_init_full(&xc, btas, n, &cbarg->eedn, &cbarg->eltstatus, cbarg->eehash, !!(preoptions & 2)) ; if (!sbearssl_x509_small_set_tain_g(&xc)) strerr_diefu1sys(111, "initialize validation time") ; br_ssl_engine_set_x509(&cc.eng, &xc.vtable) ; diff --git a/src/sbearssl/sbearssl_server_init_and_run.c b/src/sbearssl/sbearssl_server_init_and_run.c index 248a18a..9efa53a 100644 --- a/src/sbearssl/sbearssl_server_init_and_run.c +++ b/src/sbearssl/sbearssl_server_init_and_run.c @@ -99,7 +99,7 @@ void sbearssl_server_init_and_run (int *fds, tain const *tto, uint32_t preoption for (size_t i = 0 ; i < n ; i++) sbearssl_ta_to(genalloc_s(sbearssl_ta, &tas) + i, btas + i, tastorage.s) ; genalloc_free(sbearssl_ta, &tas) ; - sbearssl_x509_small_init_full(&xc, btas, n, &cbarg->eedn, &cbarg->eltstatus, cbarg->eehash) ; + sbearssl_x509_small_init_full(&xc, btas, n, &cbarg->eedn, &cbarg->eltstatus, cbarg->eehash, 0) ; if (!sbearssl_x509_small_set_tain_g(&xc)) strerr_diefu1sys(111, "initialize validation time") ; br_ssl_engine_set_default_rsavrfy(&sc.eng) ; diff --git a/src/sbearssl/sbearssl_x509_small_init_full.c b/src/sbearssl/sbearssl_x509_small_init_full.c index 1ed879f..063afd3 100644 --- a/src/sbearssl/sbearssl_x509_small_init_full.c +++ b/src/sbearssl/sbearssl_x509_small_init_full.c @@ -1,8 +1,46 @@ /* ISC license. */ +#include <stddef.h> +#include <stdint.h> + +#include <bearssl.h> + +#include <skalibs/tai.h> + #include <s6-networking/sbearssl.h> -void sbearssl_x509_small_init_full (sbearssl_x509_small_context *ctx, br_x509_trust_anchor *btas, size_t n, sbearssl_dn *eedn, uint8_t *eltstatus, char *eehash) +struct eltinfo_s +{ + size_t offset ; + size_t size ; + unsigned char oid[4] ; +} ; + +static struct eltinfo_s const eltinfo[6] = +{ + { .offset = offsetof(sbearssl_dn, c), .size = sizeof(((sbearssl_dn *)0)->c), .oid = "\x03\x55\x04\x06" }, + { .offset = offsetof(sbearssl_dn, st), .size = sizeof(((sbearssl_dn *)0)->st), .oid = "\x03\x55\x04\x08" }, + { .offset = offsetof(sbearssl_dn, l), .size = sizeof(((sbearssl_dn *)0)->l), .oid = "\x03\x55\x04\x07" }, + { .offset = offsetof(sbearssl_dn, o), .size = sizeof(((sbearssl_dn *)0)->o), .oid = "\x03\x55\x04\x0a" }, + { .offset = offsetof(sbearssl_dn, ou), .size = sizeof(((sbearssl_dn *)0)->ou), .oid = "\x03\x55\x04\x0b" }, + { .offset = offsetof(sbearssl_dn, cn), .size = sizeof(((sbearssl_dn *)0)->cn), .oid = "\x03\x55\x04\x03" } +} ; + +void sbearssl_x509_small_init_full (sbearssl_x509_small_context *ctx, br_x509_trust_anchor *btas, size_t n, sbearssl_dn *eedn, uint8_t *eltstatus, char *eehash, uint32_t flags) { - return sbearssl_x509_small_init_full_options(ctx, btas, n, eedn, eltstatus, eehash, 0) ; + ctx->vtable = &sbearssl_x509_small_vtable ; + br_x509_minimal_init_full(&ctx->minimal, btas, n) ; +#ifdef BR_FEATURE_X509_TIME_CALLBACK + br_x509_minimal_set_time_callback(&ctx->minimal, tain_secp(&STAMP), &sbearssl_x509_time_check) ; +#endif + for (unsigned int i = 0 ; i < 6 ; i++) + { + ctx->elts[i].oid = eltinfo[i].oid ; + ctx->elts[i].buf = (char *)eedn + eltinfo[i].offset ; + ctx->elts[i].len = eltinfo[i].size ; + } + br_x509_minimal_set_name_elements(&ctx->minimal, ctx->elts, 6) ; + ctx->eltstatus = eltstatus ; + ctx->eehash = eehash ; + ctx->flags = flags ; } diff --git a/src/sbearssl/sbearssl_x509_small_init_full_options.c b/src/sbearssl/sbearssl_x509_small_init_full_options.c deleted file mode 100644 index ca8069b..0000000 --- a/src/sbearssl/sbearssl_x509_small_init_full_options.c +++ /dev/null @@ -1,46 +0,0 @@ -/* ISC license. */ - -#include <stddef.h> -#include <stdint.h> - -#include <bearssl.h> - -#include <skalibs/tai.h> - -#include <s6-networking/sbearssl.h> - -struct eltinfo_s -{ - size_t offset ; - size_t size ; - unsigned char oid[4] ; -} ; - -static struct eltinfo_s const eltinfo[6] = -{ - { .offset = offsetof(sbearssl_dn, c), .size = sizeof(((sbearssl_dn *)0)->c), .oid = "\x03\x55\x04\x06" }, - { .offset = offsetof(sbearssl_dn, st), .size = sizeof(((sbearssl_dn *)0)->st), .oid = "\x03\x55\x04\x08" }, - { .offset = offsetof(sbearssl_dn, l), .size = sizeof(((sbearssl_dn *)0)->l), .oid = "\x03\x55\x04\x07" }, - { .offset = offsetof(sbearssl_dn, o), .size = sizeof(((sbearssl_dn *)0)->o), .oid = "\x03\x55\x04\x0a" }, - { .offset = offsetof(sbearssl_dn, ou), .size = sizeof(((sbearssl_dn *)0)->ou), .oid = "\x03\x55\x04\x0b" }, - { .offset = offsetof(sbearssl_dn, cn), .size = sizeof(((sbearssl_dn *)0)->cn), .oid = "\x03\x55\x04\x03" } -} ; - -void sbearssl_x509_small_init_full_options (sbearssl_x509_small_context *ctx, br_x509_trust_anchor *btas, size_t n, sbearssl_dn *eedn, uint8_t *eltstatus, char *eehash, uint32_t flags) -{ - ctx->vtable = &sbearssl_x509_small_vtable ; - br_x509_minimal_init_full(&ctx->minimal, btas, n) ; -#ifdef BR_FEATURE_X509_TIME_CALLBACK - br_x509_minimal_set_time_callback(&ctx->minimal, tain_secp(&STAMP), &sbearssl_x509_time_check) ; -#endif - for (unsigned int i = 0 ; i < 6 ; i++) - { - ctx->elts[i].oid = eltinfo[i].oid ; - ctx->elts[i].buf = (char *)eedn + eltinfo[i].offset ; - ctx->elts[i].len = eltinfo[i].size ; - } - br_x509_minimal_set_name_elements(&ctx->minimal, ctx->elts, 6) ; - ctx->eltstatus = eltstatus ; - ctx->eehash = eehash ; - ctx->flags = flags ; -} |
