]>
Commit | Line | Data |
---|---|---|
1 | ## Copyright (C) 1996-2020 The Squid Software Foundation and contributors | |
2 | ## | |
3 | ## Squid software is distributed under GPLv2+ license and includes | |
4 | ## contributions from numerous individuals and organizations. | |
5 | ## Please see the COPYING and CONTRIBUTORS files for details. | |
6 | ## | |
7 | ||
8 | # This file is supposed to run all the tests required to identify which | |
9 | # configured modules are able to be built in this environment | |
10 | ||
11 | # TODO: de-duplicate $enable_security_cert_generators list containing double entries. | |
12 | ||
13 | #define list of modules to build | |
14 | auto_security_modules=no | |
15 | if test "x${enable_security_cert_generators:=yes}" = "xyes" ; then | |
16 | SQUID_LOOK_FOR_MODULES([$srcdir/src/security/cert_generators],[enable_security_cert_generators]) | |
17 | auto_security_certgen_modules=yes | |
18 | fi | |
19 | ||
20 | enable_security_cert_generators="`echo $enable_security_cert_generators| sed -e 's/,/ /g;s/ */ /g'`" | |
21 | AC_MSG_NOTICE([Security certificate generator helper candidates: $enable_security_cert_generators]) | |
22 | SECURITY_CERTGEN_HELPERS="" | |
23 | if test "x$enable_security_cert_generators" != "xno" ; then | |
24 | for helper in $enable_security_cert_generators; do | |
25 | dir="$srcdir/src/security/cert_generators/$helper" | |
26 | ||
27 | # modules converted to autoconf macros already | |
28 | # NP: we only need this list because m4_include() does not accept variables | |
29 | if test "x$helper" = "xfile" ; then | |
30 | m4_include([src/security/cert_generators/file/required.m4]) | |
31 | ||
32 | # modules not yet converted to autoconf macros (or third party drop-in's) | |
33 | elif test -f "$dir/config.test" && sh "$dir/config.test" "$squid_host_os"; then | |
34 | BUILD_HELPER="$helper" | |
35 | fi | |
36 | ||
37 | if test -d "$srcdir/src/security/cert_generators/$helper"; then | |
38 | if test "$BUILD_HELPER" != "$helper"; then | |
39 | if test "x$auto_security_certgen_modules" = "xyes"; then | |
40 | AC_MSG_NOTICE([Security certificate generator helper $helper ... found but cannot be built]) | |
41 | else | |
42 | AC_MSG_ERROR([Security certificate generator helper $helper ... found but cannot be built]) | |
43 | fi | |
44 | else | |
45 | SECURITY_CERTGEN_HELPERS="$SECURITY_CERTGEN_HELPERS $BUILD_HELPER" | |
46 | fi | |
47 | else | |
48 | AC_MSG_ERROR([Security certificate generator helper $helper ... not found]) | |
49 | fi | |
50 | done | |
51 | fi | |
52 | AC_MSG_NOTICE([Security certificate generator helpers to be built: $SECURITY_CERTGEN_HELPERS]) | |
53 | AC_SUBST(SECURITY_CERTGEN_HELPERS) | |
54 | ||
55 | # XXX: Enabling the interface in Squid still requires separate option | |
56 | AC_ARG_ENABLE(ssl-crtd, | |
57 | AC_HELP_STRING([--enable-ssl-crtd], | |
58 | [Prevent Squid from directly generating TLS/SSL private key | |
59 | and certificate. Instead enables the certificate generator | |
60 | processes.]), [ | |
61 | SQUID_YESNO([$enableval], | |
62 | [unrecogized argument to --enable-ssl-crtd: $enableval]) | |
63 | ]) | |
64 | if test "x$enable_ssl_crtd" = "xyes" -a "x$with_openssl" = "xno" ; then | |
65 | AC_MSG_ERROR([You need ssl gatewaying support to enable ssl-crtd feature. Try to use --with-openssl.]) | |
66 | fi | |
67 | SQUID_DEFINE_BOOL(USE_SSL_CRTD, ${enable_ssl_crtd:=no},[Use ssl-crtd daemon]) |