ca-bundle stuff for configure and generated header file
authorDaniel Stenberg <daniel@haxx.se>
Fri, 30 Aug 2002 07:50:59 +0000 (07:50 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 30 Aug 2002 07:50:59 +0000 (07:50 +0000)
configure.in
lib/Makefile.am
lib/ca-bundle.h.in [new file with mode: 0644]

index ddd5bdf4fbfea39b611df94bccbe77968cd701e3..c7f51b672690d29d58362cf610b8348eeb3d8e99 100644 (file)
@@ -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, 
index 0a565e9b31e0429e3763911a2fba5f9aa334aefc..10b06465767dfa6ffe84f8f9eb19564dafffd4d8 100644 (file)
@@ -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 (file)
index 0000000..1545372
--- /dev/null
@@ -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 */