From fb76faf56aca9b79648d776896a4a4fae7c978cf Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sat, 21 Nov 2020 11:58:44 +0000 Subject: Move all tls stuff into its own subdir --- src/tls/s6tls_ucspi_exec_app.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/tls/s6tls_ucspi_exec_app.c (limited to 'src/tls/s6tls_ucspi_exec_app.c') diff --git a/src/tls/s6tls_ucspi_exec_app.c b/src/tls/s6tls_ucspi_exec_app.c new file mode 100644 index 0000000..f4b52ef --- /dev/null +++ b/src/tls/s6tls_ucspi_exec_app.c @@ -0,0 +1,36 @@ +/* ISC license. */ + +#include +#include +#include + +#include +#include +#include +#include + +#include "s6tls-internal.h" + +void s6tls_ucspi_exec_app (char const *const *argv, int const p[4][2], uint32_t options) +{ + size_t m = 0 ; + char modif[sizeof(s6tls_envvars) + 33 + 3 * UINT_FMT] ; + close(p[2][1]) ; + close(p[1][1]) ; + close(p[0][0]) ; + if (options & 1) + { + memcpy(modif + m, s6tls_envvars, sizeof(s6tls_envvars)) ; + m += sizeof(s6tls_envvars) ; + } + memcpy(modif + m, "SSLCTLFD=", 9) ; m += 9 ; + m += uint_fmt(modif + m, p[2][0]) ; + modif[m++] = 0 ; + memcpy(modif + m, "SSLREADFD=", 10) ; m += 10 ; + m += uint_fmt(modif + m, p[1][0]) ; + modif[m++] = 0 ; + memcpy(modif + m, "SSLWRITEFD=", 11) ; m += 11 ; + m += uint_fmt(modif + m, p[0][1]) ; + modif[m++] = 0 ; + xpathexec_r(argv, (char const *const *)environ, env_len((char const* const *)environ), modif, m) ; +} -- cgit v1.2.3