pidgin: 90ed1fb1: Add a configure option, --with-ssl-certi...

rlaager at pidgin.im rlaager at pidgin.im
Sun Jun 8 22:15:41 EDT 2008


-----------------------------------------------------------------
Revision: 90ed1fb17982cbb6355d5dd32d041b8c0027509b
Ancestor: 0e1a1cafd709183a78147301f28ea9dcb74e0ae2
Author: rlaager at pidgin.im
Date: 2008-06-09T02:10:18
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/90ed1fb17982cbb6355d5dd32d041b8c0027509b

Modified files:
        configure.ac libpurple/Makefile.am libpurple/certificate.c
        share/ca-certs/Makefile.am

ChangeLog: 

Add a configure option, --with-ssl-certificates to allow packagers to
specify a system-wide SSL CA certificates directory.  On Debian, this would
be /etc/ssl/certs.  Also, when set, we don't install our SSL CA certs.
Refs #6036

-------------- next part --------------
============================================================
--- configure.ac	77b8e73d68b933ab6e036e3c0debd856fdac9dc1
+++ configure.ac	6540f725fcca109f4b7a1d324bb9f9f0608abbfd
@@ -1561,6 +1561,18 @@ dnl ####################################
 dnl # Thanks go to Evolution for the checks.
 dnl #######################################################################
 
+AC_ARG_WITH(ssl-certificates, [AC_HELP_STRING([--with-ssl-certificates=<dir>], [directory containing system-wide SSL CA certificates])])
+
+SSL_CERTIFICATES_DIR=""
+if ! test -z "$with_ssl_certificates" ; then
+	if ! test -d "$with_ssl_certificates" ; then
+		AC_MSG_ERROR([$with_ssl_certificates does not exist, if this is the correct location please make sure that it exists.])
+	fi
+	SSL_CERTIFICATES_DIR="$with_ssl_certificates"
+fi
+AC_SUBST(SSL_CERTIFICATES_DIR)
+AM_CONDITIONAL(INSTALL_SSL_CERTIFICATES, test "x$SSL_CERTIFICATES_DIR" = "x")
+
 dnl These two are inverses of each other <-- stolen from evolution!
 
 AC_ARG_ENABLE(gnutls,
@@ -2409,6 +2421,9 @@ echo SSL Library/Libraries......... : $m
 fi
 echo Build with NetworkManager..... : $enable_nm
 echo SSL Library/Libraries......... : $msg_ssl
+if test "x$SSL_CERTIFICATES_DIR" != "x" ; then
+	eval eval echo SSL CA certificates directory. : $SSL_CERTIFICATES_DIR
+fi
 echo Build with Cyrus SASL support. : $enable_cyrus_sasl
 echo Use kerberos 4 with zephyr.... : $kerberos
 echo Use external libzephyr........ : $zephyr
============================================================
--- libpurple/Makefile.am	f3dab424aa4a70b47a6ff6b2a7539b0a3b07fb7e
+++ libpurple/Makefile.am	ea431ecfb45e9b1e546b7f8dd0d012a98bb1aaf7
@@ -261,3 +261,9 @@ AM_CPPFLAGS = \
 	$(DBUS_CFLAGS) \
 	$(LIBXML_CFLAGS) \
 	$(NETWORKMANAGER_CFLAGS)
+
+# INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty.
+# We want to use SSL_CERTIFICATES_DIR when it's not empty.
+if ! INSTALL_SSL_CERTIFICATES
+AM_CPPFLAGS += -DSSL_CERTIFICATES_DIR=\"$(SSL_CERTIFICATES_DIR)\"
+endif
============================================================
--- libpurple/certificate.c	d76a13f43539ec74cc79f0cb209f8ef932a8ee78
+++ libpurple/certificate.c	a264086c888f898c25043ef7b5198370ebd23a82
@@ -745,8 +745,12 @@ x509_ca_init(void)
 		x509_ca_paths = g_list_append(NULL, g_build_filename(DATADIR,
 						   "ca-certs", NULL));
 #else
+# ifdef SSL_CERTIFICATES_DIR
+		x509_ca_paths = g_list_append(NULL, SSL_CERTIFICATES_DIR);
+# else
 		x509_ca_paths = g_list_append(NULL, g_build_filename(DATADIR,
 						   "purple", "ca-certs", NULL));
+# endif
 #endif
 	}
 
============================================================
--- share/ca-certs/Makefile.am	ad9eb3c2351739d37207771b760021e0cfc94738
+++ share/ca-certs/Makefile.am	202666b39100153843c8cd81cb57e15e70b933e1
@@ -1,5 +1,4 @@
-cacertsdir =	$(datadir)/purple/ca-certs
-cacerts_DATA =	\
+CERTIFICATES = \
 		Equifax_Secure_CA.pem \
 		GTE_CyberTrust_Global_Root.pem \
 		Microsoft_Secure_Server_Authority.pem \
@@ -7,7 +6,12 @@ cacerts_DATA =	\
 		Verisign_RSA_Secure_Server_CA.pem \
 		Verisign_Class3_Primary_CA.pem
 
+if INSTALL_SSL_CERTIFICATES
+cacertsdir =	$(datadir)/purple/ca-certs
+cacerts_DATA =	$(CERTIFICATES)
+endif
+
 EXTRA_DIST =	\
 		Makefile.mingw \
-		$(cacerts_DATA)
+		$(CERTIFICATES)
 


More information about the Commits mailing list