aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in28
-rw-r--r--lib/Makefile.am8
-rw-r--r--lib/ca-bundle.h.in31
3 files changed, 64 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index ddd5bdf4f..c7f51b672 100644
--- a/configure.in
+++ b/configure.in
@@ -8,7 +8,7 @@ AC_PREREQ(2.50)
dnl First some basic init macros
AC_INIT
AC_CONFIG_SRCDIR([lib/urldata.h])
-AM_CONFIG_HEADER(lib/config.h src/config.h tests/server/config.h)
+AM_CONFIG_HEADER(lib/config.h src/config.h tests/server/config.h lib/ca-bundle.h)
dnl figure out the libcurl version
VERSION=`sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curl.h`
@@ -691,6 +691,32 @@ AC_PATH_PROGS( NROFF, gnroff nroff, ,
$PATH:/usr/bin/:/usr/local/bin )
AC_SUBST(NROFF)
+
+AC_MSG_CHECKING([CA cert bundle install path])
+
+AC_ARG_WITH(ca-bundle,
+AC_HELP_STRING([--with-ca-bundle=FILE], [File name to install the CA bundle as])
+AC_HELP_STRING([--without-ca-bundle], [Don't install the CA bundle]),
+ [ ca="$withval" ],
+ [
+ if test "x$prefix" != xNONE; then
+ ca="$prefix/share/curl/curl-ca-bundle.crt"
+ else
+ ca="$ac_default_prefix/share/curl/curl-ca-bundle.crt"
+ fi
+ ] )
+
+if test "x$ca" = "xno"; then
+ dnl let's not keep "no" as path name, blank it instead
+ ca=""
+else
+ AC_DEFINE_UNQUOTED(CURL_CA_BUNDLE, $ca, [CA bundle full path name])
+fi
+
+CURL_CA_BUNDLE="$ca"
+AC_SUBST(CURL_CA_BUNDLE)
+AC_MSG_RESULT([$ca])
+
AC_PROG_YACC
dnl AC_PATH_PROG( RANLIB, ranlib, /usr/bin/ranlib,
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 0a565e9b3..10b064657 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -7,7 +7,7 @@ AUTOMAKE_OPTIONS = foreign nostdinc
EXTRA_DIST = getdate.y Makefile.b32 Makefile.b32.resp Makefile.m32 \
Makefile.vc6 Makefile.riscos libcurl.def dllinit.c curllib.dsp \
curllib.dsw config-vms.h config-win32.h config-riscos.h config-mac.h \
- config.h.in
+ config.h.in ca-bundle.crt
lib_LTLIBRARIES = libcurl.la
@@ -62,7 +62,6 @@ security.h security.c krb4.c krb4.h memdebug.c memdebug.h inet_ntoa_r.h \
http_chunks.c http_chunks.h strtok.c strtok.h connect.c connect.h \
llist.c llist.h hash.c hash.h multi.c share.c share.h
-
noinst_HEADERS = setup.h transfer.h
# Say $(srcdir), so GNU make does not report an ambiguity with the .y.c rule.
@@ -70,3 +69,8 @@ $(srcdir)/getdate.c: getdate.y
cd $(srcdir) && \
$(YACC) $(YFLAGS) getdate.y; \
mv -f y.tab.c getdate.c
+
+install-data-hook:
+ @if test -n "@CURL_CA_BUNDLE@"; then \
+ @INSTALL_DATA@ ca-bundle.crt @CURL_CA_BUNDLE@; \
+ fi
diff --git a/lib/ca-bundle.h.in b/lib/ca-bundle.h.in
new file mode 100644
index 000000000..15453722d
--- /dev/null
+++ b/lib/ca-bundle.h.in
@@ -0,0 +1,31 @@
+#ifndef __CA_BUNDLE_H
+#define __CA_BUNDLE_H
+/*****************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2002, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * In order to be useful for every potential user, curl and libcurl are
+ * dual-licensed under the MPL and the MIT/X-derivate licenses.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the MPL or the MIT/X-derivate
+ * licenses. You may pick one of these licenses.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * $Id$
+ *****************************************************************************/
+
+#ifndef CURL_CA_BUNDLE
+/* Set this to the full path file name of the ca cert bundle */
+#undef CURL_CA_BUNDLE
+#endif
+
+#endif /* __CA_BUNDLE_H */