aboutsummaryrefslogtreecommitdiffstats
path: root/src/sbearssl
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbearssl')
-rw-r--r--src/sbearssl/deps-lib/sbearssl1
-rw-r--r--src/sbearssl/sbearssl_client_init_and_run.c2
-rw-r--r--src/sbearssl/sbearssl_server_init_and_run.c2
-rw-r--r--src/sbearssl/sbearssl_x509_small_init_full.c42
-rw-r--r--src/sbearssl/sbearssl_x509_small_init_full_options.c46
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 ;
-}