diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-08-22 10:56:01 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-08-22 10:56:01 +0000 |
commit | f2206da976508c2ad81c3e0949ecd311a5a06709 (patch) | |
tree | b1d8d6eb586da520c827f198ae06dfb647110779 | |
parent | 61459e9930995a491dcac51019d01813efc495ce (diff) | |
download | s6-networking-f2206da976508c2ad81c3e0949ecd311a5a06709.tar.xz |
Optimize to xpathexec ; prepare for 2.3.0.2
-rw-r--r-- | COPYING | 2 | ||||
-rw-r--r-- | INSTALL | 29 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | doc/index.html | 12 | ||||
-rw-r--r-- | doc/upgrade.html | 10 | ||||
-rw-r--r-- | package/info | 2 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpclient.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver-access.c | 6 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver4-socketbinder.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver4.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver6-socketbinder.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tcpserver6.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tlsclient.c | 3 | ||||
-rw-r--r-- | src/conn-tools/s6-tlsserver.c | 3 | ||||
-rw-r--r-- | src/sbearssl/sbearssl_cert_readbigpem.c | 2 |
16 files changed, 52 insertions, 41 deletions
@@ -1,4 +1,4 @@ -Copyright (c) 2011-2016 Laurent Bercot <ska-skaware@skarnet.org> +Copyright (c) 2011-2017 Laurent Bercot <ska-skaware@skarnet.org> Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -6,13 +6,13 @@ Build Instructions - A POSIX-compliant C development environment - GNU make version 3.81 or later - - skalibs version 2.5.1.0 or later: http://skarnet.org/software/skalibs/ - - execline version 2.3.0.1 or later: http://skarnet.org/software/execline/ - - s6 version 2.5.1.0 or later: http://skarnet.org/software/s6/ - - s6-dns version 2.2.0.0 or later: http://skarnet.org/software/s6-dns/ + - skalibs version 2.6.0.0 or later: http://skarnet.org/software/skalibs/ + - execline version 2.3.0.2 or later: http://skarnet.org/software/execline/ + - s6 version 2.6.1.0 or later: http://skarnet.org/software/s6/ + - s6-dns version 2.2.0.1 or later: http://skarnet.org/software/s6-dns/ - Depending on whether you build the SSL tools, libressl version 2.4.5 or later: http://libressl.org/ - or bearssl version 0.4 or later: http://bearssl.org/ + or bearssl version 0.5 or later: http://bearssl.org/ (BearSSL support is experimental for now, I encourage you to use it but be aware it's bleeding-edge and APIs may change.) @@ -30,6 +30,12 @@ POSIX.1-2008, available at: It will install the binaries in /bin and the static libraries in /usr/lib/s6-networking. + Please note that static libraries in /usr/lib/s6-networking *will not* +be found by a default linker invocation: you need -L/usr/lib/s6-networking. +Other skarnet.org software automatically handles that case if the +default configuration is used, but if you change the configuration, +remember to use the appropriate --with-lib configure option. + You can strip the binaries and libraries of their extra symbols via "make strip" before the "make install" phase. It will shave a few bytes off them. @@ -208,10 +214,9 @@ against it, you can override the CRYPTO_LIB make variable. By default, CRYPTO_LIB is "-lbearssl" when building against BearSSL, and "-ltls -lssl -lcrypto" when building against LibreSSL. - As of 2017-05-21, please note that BearSSL is experimental and not -considered production-ready by its author yet. Nevertheless, it's an -incredibly promising library with high-quality interfaces and likely -high-quality implementation. When statically linked against BearSSL, -the s6-tlsc and s6-tlsd binaries are 1/10th the size of what they are -when statically linked against LibreSSL, with a smaller RAM footprint -too. + As of 2017-08-22, please note that BearSSL is considered beta quality +by its author, so use with caution. Nevertheless, it's an incredibly +promising library with high-quality interfaces and implementation. +When statically linked against BearSSL, the s6-tlsc and s6-tlsd binaries +are 1/10th the size of what they are when statically linked against LibreSSL, +with a smaller RAM footprint too. @@ -1,5 +1,11 @@ Changelog for s6-networking. +In 2.3.0.2 +---------- + + - Bugfix release. + + In 2.3.0.1 ---------- diff --git a/doc/index.html b/doc/index.html index 3f83db3..c6033bc 100644 --- a/doc/index.html +++ b/doc/index.html @@ -44,22 +44,22 @@ compiled with IPv6 support, s6-networking is IPv6-ready. <li> A POSIX-compliant system with a standard C development environment </li> <li> GNU make, version 3.81 or later </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version -2.5.1.0 or later. It's a build-time requirement. It's also a run-time +2.6.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library. </li> <li> <a href="//skarnet.org/software/execline/">execline</a> version -2.3.0.1 or later. It's a build-time and run-time requirement. </li> +2.3.0.2 or later. It's a build-time and run-time requirement. </li> <li> <a href="//skarnet.org/software/s6/">s6</a> version -2.5.1.0 or later. It's a build-time and run-time requirement. </li> +2.6.1.0 or later. It's a build-time and run-time requirement. </li> <li> <a href="//skarnet.org/software/s6-dns/">s6-dns</a> version -2.2.0.0 or later. It's a build-time requirement. It's also a run-time +2.2.0.1 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the s6-dns libraries. </li> <li> If you want to build the secure communication tools: <ul> <li> Either <a href="http://libressl.org/">LibreSSL</a> version 2.4.5 or later </li> - <li> Or <a href="http://bearssl.org/">BearSSL</a> version 0.4 + <li> Or <a href="http://bearssl.org/">BearSSL</a> version 0.5 or later. <strong>This is experimental.</strong> </li> </ul> The chosen library is a build-time requirement, and also a run-time requirement if you link against its shared version. </li> @@ -76,7 +76,7 @@ run-time requirement if you link against its shared version. </li> <ul> <li> The current released version of s6-networking is -<a href="s6-networking-2.3.0.1.tar.gz">2.3.0.1</a>. </li> +<a href="s6-networking-2.3.0.2.tar.gz">2.3.0.2</a>. </li> <li> Alternatively, you can checkout a copy of the <a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-networking/">s6-networking git repository</a>: diff --git a/doc/upgrade.html b/doc/upgrade.html index 6d1b559..2023470 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -18,6 +18,16 @@ <h1> What has changed in s6-networking </h1> +<h2> in 2.3.0.2 </h2> + +<ul> + <li> BearSSL dependency bumped to 0.5. </li> + <li> skalibs dependency bumped to 2.6.0.0. </li> + <li> execline dependency bumped to 2.3.0.2. </li> + <li> s6 dependency bumped to 2.6.1.0. </li> + <li> s6-dns dependency bumped to 2.2.0.1. </li> +</ul> + <h2> in 2.3.0.1 </h2> <ul> diff --git a/package/info b/package/info index f69475f..14e206b 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=s6-networking -version=2.3.0.1 +version=2.3.0.2 category=net package_macro_name=S6_NETWORKING diff --git a/src/conn-tools/s6-tcpclient.c b/src/conn-tools/s6-tcpclient.c index 47be4a7..062047c 100644 --- a/src/conn-tools/s6-tcpclient.c +++ b/src/conn-tools/s6-tcpclient.c @@ -374,6 +374,5 @@ int main (int argc, char const *const *argv) if (fd_move(6, s) < 0) strerr_diefu2sys(111, "set up fd ", "6") ; if (fd_copy(7, 6) < 0) strerr_diefu2sys(111, "set up fd ", "7") ; - pathexec(argv+2) ; - strerr_dieexec(111, argv[2]) ; + xpathexec(argv+2) ; } diff --git a/src/conn-tools/s6-tcpserver-access.c b/src/conn-tools/s6-tcpserver-access.c index e16fe08..720da7e 100644 --- a/src/conn-tools/s6-tcpserver-access.c +++ b/src/conn-tools/s6-tcpserver-access.c @@ -379,12 +379,10 @@ int main (int argc, char const *const *argv, char const *const *envp) if (params.exec.len) { char *specialargv[4] = { EXECLINE_EXTBINPREFIX "execlineb", "-c", params.exec.s, 0 } ; - pathexec_r((char const *const *)specialargv, envp, env_len(envp), params.env.s, params.env.len) ; - strerr_dieexec(111, specialargv[0]) ; + xpathexec_r((char const *const *)specialargv, envp, env_len(envp), params.env.s, params.env.len) ; } - pathexec_r(argv, envp, env_len(envp), params.env.s, params.env.len) ; - strerr_dieexec(111, argv[0]) ; + xpathexec_r(argv, envp, env_len(envp), params.env.s, params.env.len) ; reject: if (verbosity >= 2) diff --git a/src/conn-tools/s6-tcpserver.c b/src/conn-tools/s6-tcpserver.c index 3866b75..1143af7 100644 --- a/src/conn-tools/s6-tcpserver.c +++ b/src/conn-tools/s6-tcpserver.c @@ -130,7 +130,6 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = "--" ; while (*argv) newargv[m++] = *argv++ ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + xpathexec_run(newargv[0], newargv, envp) ; } } diff --git a/src/conn-tools/s6-tcpserver4-socketbinder.c b/src/conn-tools/s6-tcpserver4-socketbinder.c index cc97486..e32eb4f 100644 --- a/src/conn-tools/s6-tcpserver4-socketbinder.c +++ b/src/conn-tools/s6-tcpserver4-socketbinder.c @@ -48,6 +48,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (backlog && socket_listen(0, backlog) < 0) strerr_diefu5sys(111, "listen to ", argv[0], ":", argv[1], " ") ; - pathexec_run(argv[2], argv + 2, envp) ; - strerr_dieexec(111, argv[2]) ; + xpathexec_run(argv[2], argv + 2, envp) ; } diff --git a/src/conn-tools/s6-tcpserver4.c b/src/conn-tools/s6-tcpserver4.c index 6860871..f97d307 100644 --- a/src/conn-tools/s6-tcpserver4.c +++ b/src/conn-tools/s6-tcpserver4.c @@ -123,7 +123,6 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = "--" ; while (*argv) newargv[m++] = *argv++ ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + xpathexec_run(newargv[0], newargv, envp) ; } } diff --git a/src/conn-tools/s6-tcpserver6-socketbinder.c b/src/conn-tools/s6-tcpserver6-socketbinder.c index 4fc3ab4..143bfe9 100644 --- a/src/conn-tools/s6-tcpserver6-socketbinder.c +++ b/src/conn-tools/s6-tcpserver6-socketbinder.c @@ -48,6 +48,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (backlog && socket_listen(0, backlog) < 0) strerr_diefu5sys(111, "listen to ", argv[0], ":", argv[1], " ") ; - pathexec_run(argv[2], argv + 2, envp) ; - strerr_dieexec(111, argv[2]) ; + xpathexec_run(argv[2], argv + 2, envp) ; } diff --git a/src/conn-tools/s6-tcpserver6.c b/src/conn-tools/s6-tcpserver6.c index 8648e8e..f96d45b 100644 --- a/src/conn-tools/s6-tcpserver6.c +++ b/src/conn-tools/s6-tcpserver6.c @@ -123,7 +123,6 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = "--" ; while (*argv) newargv[m++] = *argv++ ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + xpathexec_run(newargv[0], newargv, envp) ; } } diff --git a/src/conn-tools/s6-tlsclient.c b/src/conn-tools/s6-tlsclient.c index 5bcc7e7..267f457 100644 --- a/src/conn-tools/s6-tlsclient.c +++ b/src/conn-tools/s6-tlsclient.c @@ -197,7 +197,6 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = "--" ; while (*argv) newargv[m++] = *argv++ ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + xpathexec_run(newargv[0], newargv, envp) ; } } diff --git a/src/conn-tools/s6-tlsserver.c b/src/conn-tools/s6-tlsserver.c index d6c84f5..fa36226 100644 --- a/src/conn-tools/s6-tlsserver.c +++ b/src/conn-tools/s6-tlsserver.c @@ -242,7 +242,6 @@ int main (int argc, char const *const *argv, char const *const *envp) } while (*argv) newargv[m++] = *argv++ ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + xpathexec_run(newargv[0], newargv, envp) ; } } diff --git a/src/sbearssl/sbearssl_cert_readbigpem.c b/src/sbearssl/sbearssl_cert_readbigpem.c index 9df5ebd..64ce139 100644 --- a/src/sbearssl/sbearssl_cert_readbigpem.c +++ b/src/sbearssl/sbearssl_cert_readbigpem.c @@ -25,8 +25,8 @@ int sbearssl_cert_readbigpem (char const *fn, genalloc *certs, stralloc *sa) int r ; if (fd < 0) return -1 ; r = sbearssl_pem_decode_from_buffer(&b, &pems, sa) ; - if (r) { fd_close(fd) ; return r ; } fd_close(fd) ; + if (r) return r ; p = genalloc_s(sbearssl_pemobject, &pems) ; n = genalloc_len(sbearssl_pemobject, &pems) ; for (; i < n ; i++) |