diff options
-rw-r--r-- | configure.ac | 33 | ||||
-rw-r--r-- | libempathy/empathy-tls-verifier.c | 2 |
2 files changed, 34 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index b2336892c..d2f09df1b 100644 --- a/configure.ac +++ b/configure.ac @@ -201,6 +201,38 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name]) AM_GLIB_GNU_GETTEXT # ----------------------------------------------------------- +# Make CA certificates path configurable +# Stolen from GIO's TLS +# ----------------------------------------------------------- +AC_MSG_CHECKING([location of system Certificate Authority list]) +AC_ARG_WITH(ca-file, + [AC_HELP_STRING([--with-ca-file=@<:@path@:>@], + [path to system Certificate Authority list])]) +if test "$with_ca_file" = "no"; then + AC_MSG_RESULT([disabled]) +else + if test -z "$with_ca_file"; then + for f in /etc/pki/tls/certs/ca-bundle.crt \ + /etc/ssl/certs/ca-certificates.crt; do + if test -f "$f"; then + with_ca_file="$f" + fi + done + if test -z "$with_ca_file"; then + AC_MSG_ERROR([could not find. Use --with-ca-file=path to set, or --without-ca-file to disable]) + fi + fi + + AC_MSG_RESULT($with_ca_file) + if ! test -f "$with_ca_file"; then + AC_MSG_ERROR([No such file '$with_ca_file'. Use --with-ca-file=path to set, or --without-ca-file to disable]) + fi + GTLS_SYSTEM_CA_FILE="$with_ca_file" + + AC_DEFINE_UNQUOTED([GTLS_SYSTEM_CA_FILE], ["$GTLS_SYSTEM_CA_FILE"], [path to system Certificate Authority list]) +fi + +# ----------------------------------------------------------- # Connectivity integration # ----------------------------------------------------------- AC_ARG_WITH(connectivity, @@ -497,6 +529,7 @@ Configure summary: Compiler Flags..............: ${CFLAGS} ${ERROR_CFLAGS} Prefix......................: ${prefix} Coding style checks.........: ${ENABLE_CODING_STYLE_CHECKS} + CA Cert Path................: ${GTLS_SYSTEM_CA_FILE} Features: Spell checking (enchant)....: ${have_enchant} diff --git a/libempathy/empathy-tls-verifier.c b/libempathy/empathy-tls-verifier.c index 13727db17..ca1726144 100644 --- a/libempathy/empathy-tls-verifier.c +++ b/libempathy/empathy-tls-verifier.c @@ -44,7 +44,7 @@ enum { }; static const gchar* system_ca_paths[] = { - "/etc/ssl/certs/ca-certificates.crt", + GTLS_SYSTEM_CA_FILE, NULL, }; |