dirmngr: First take on ntbtls cert verification.
[gnupg.git] / dirmngr / Makefile.am
index a030f38..7fa4282 100644 (file)
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 
 ## Process this file with automake to produce Makefile.in
 
-EXTRA_DIST = OAUTHORS ONEWS ChangeLog.1
+EXTRA_DIST = OAUTHORS ONEWS ChangeLog-2011 tls-ca.pem
+dist_pkgdata_DATA = sks-keyservers.netCA.pem
 
 bin_PROGRAMS = dirmngr dirmngr-client
 
@@ -27,16 +28,18 @@ if USE_LDAPWRAPPER
 libexec_PROGRAMS = dirmngr_ldap
 endif
 
-AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
+noinst_PROGRAMS = $(module_tests) $(module_net_tests) $(module_maint_tests)
+TESTS = $(module_tests) $(module_net_tests)
 
-include $(top_srcdir)/am/cmacros.am
+AM_CPPFLAGS = -I$(top_srcdir)/common
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) \
-            $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) $(PTH_CFLAGS)
+include $(top_srcdir)/am/cmacros.am
 
-BUILT_SOURCES = no-libgcrypt.c
+AM_CFLAGS = $(USE_C99_CFLAGS) \
+            $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)     \
+            $(GPG_ERROR_CFLAGS) $(NPTH_CFLAGS) $(NTBTLS_CFLAGS)                \
+            $(LIBGNUTLS_CFLAGS)
 
-CLEANFILES = no-libgcrypt.c
 
 if HAVE_W32_SYSTEM
 ldap_url = ldap-url.h ldap-url.c
@@ -44,44 +47,116 @@ else
 ldap_url =
 endif
 
+if USE_LDAPWRAPPER
+extraldap_src = ldap-wrapper.c
+else
+extraldap_src = ldap-wrapper-ce.c  dirmngr_ldap.c
+endif
+
 noinst_HEADERS = dirmngr.h crlcache.h crlfetch.h misc.h
 
 dirmngr_SOURCES = dirmngr.c dirmngr.h server.c crlcache.c crlfetch.c   \
-       ldapserver.h ldapserver.c certcache.c certcache.h \
-       cdb.h cdblib.c ldap.c misc.c dirmngr-err.h w32-ldap-help.h \
-       ocsp.c ocsp.h validate.c validate.h ldap-wrapper.h $(ldap_url) \
+       certcache.c certcache.h \
+       loadswdb.c \
+       cdb.h cdblib.c misc.c dirmngr-err.h  \
+       ocsp.c ocsp.h validate.c validate.h  \
+       dns-stuff.c dns-stuff.h \
+       http.c http.h \
+       http-ntbtls.c \
        ks-action.c ks-action.h ks-engine.h \
-        ks-engine-hkp.c ks-engine-finger.c
+       ks-engine-hkp.c ks-engine-http.c ks-engine-finger.c ks-engine-kdns.c
 
-if USE_LDAPWRAPPER
-dirmngr_SOURCES += ldap-wrapper.c
+if USE_LIBDNS
+dirmngr_SOURCES += dns.c dns.h
+endif
+
+if USE_LDAP
+dirmngr_SOURCES += ldapserver.h ldapserver.c ldap.c w32-ldap-help.h \
+                   ldap-wrapper.h ldap-parse-uri.c ldap-parse-uri.h \
+                   ks-engine-ldap.c $(ldap_url) $(extraldap_src)
+ldaplibs = $(LDAPLIBS)
 else
-dirmngr_SOURCES += ldap-wrapper-ce.c  dirmngr_ldap.c
+ldaplibs =
 endif
 
 
-dirmngr_LDADD = $(libcommonpth) ../gl/libgnu.a $(DNSLIBS) $(LIBASSUAN_LIBS) \
-       $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(PTH_LIBS) $(LIBINTL) $(LIBICONV)
+dirmngr_LDADD = $(libcommonpth) \
+        $(DNSLIBS) $(LIBASSUAN_LIBS) \
+       $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(NPTH_LIBS) \
+       $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV)
+if USE_LDAP
+dirmngr_LDADD += $(ldaplibs)
+endif
 if !USE_LDAPWRAPPER
-dirmngr_LDADD += $(LDAPLIBS)
+dirmngr_LDADD += $(ldaplibs)
 endif
 dirmngr_LDFLAGS = $(extra_bin_ldflags)
 
 if USE_LDAPWRAPPER
 dirmngr_ldap_SOURCES = dirmngr_ldap.c $(ldap_url)
-dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS)
+dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 dirmngr_ldap_LDFLAGS =
-dirmngr_ldap_LDADD = $(libcommon) no-libgcrypt.o ../gl/libgnu.a $(DNSLIBS) \
-                    $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LIBINTL) $(LIBICONV)
+dirmngr_ldap_LDADD = $(libcommon) \
+                    $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LDAPLIBS) \
+                    $(LBER_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS)
 endif
 
 dirmngr_client_SOURCES = dirmngr-client.c
-dirmngr_client_LDADD = $(libcommon) no-libgcrypt.o \
-                       ../gl/libgnu.a $(LIBASSUAN_LIBS) \
-                      $(GPG_ERROR_LIBS) $(LIBINTL) \
-                       $(LIBICONV)
+dirmngr_client_LDADD = $(libcommon) \
+                       $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
+                       $(LIBGCRYPT_LIBS) $(NETLIBS) $(LIBINTL) $(LIBICONV)
 dirmngr_client_LDFLAGS = $(extra_bin_ldflags)
 
 
-no-libgcrypt.c : $(top_srcdir)/tools/no-libgcrypt.c
-       cat $(top_srcdir)/tools/no-libgcrypt.c > no-libgcrypt.c
+t_common_src = t-support.h
+if USE_LIBDNS
+t_common_src += dns.c dns.h
+endif
+t_common_ldadd = $(libcommon) $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) \
+                 $(GPG_ERROR_LIBS) $(NETLIBS) \
+                 $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) \
+                 $(DNSLIBS) $(LIBINTL) $(LIBICONV)
+
+module_tests =
+
+if USE_LDAP
+module_tests += t-ldap-parse-uri
+endif
+
+# Test which need a network connections are only used in maintainer mode.
+if MAINTAINER_MODE
+module_net_tests = t-dns-stuff
+else
+module_net_tests =
+endif
+
+# Tests which are only for manually testing are only build in maintainer-mode.
+if MAINTAINER_MODE
+module_maint_tests = t-http
+else
+module_maint_tests =
+endif
+
+
+# http tests
+t_http_SOURCES = $(t_common_src) t-http.c http.c dns-stuff.c
+t_http_CFLAGS  = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
+                $(LIBGCRYPT_CFLAGS) $(NTBTLS_CFLAGS) $(LIBGNUTLS_CFLAGS) \
+                 $(GPG_ERROR_CFLAGS)
+t_http_LDADD   = $(t_common_ldadd) \
+                $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(DNSLIBS)
+
+t_ldap_parse_uri_SOURCES = \
+       t-ldap-parse-uri.c ldap-parse-uri.c ldap-parse-uri.h \
+        http.c dns-stuff.c \
+        $(ldap_url) $(t_common_src)
+t_ldap_parse_uri_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
+                         $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+t_ldap_parse_uri_LDADD = $(ldaplibs) $(t_common_ldadd) $(DNSLIBS)
+
+t_dns_stuff_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
+                    $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+t_dns_stuff_SOURCES = $(t_common_src) t-dns-stuff.c dns-stuff.c
+t_dns_stuff_LDADD   = $(t_common_ldadd) $(DNSLIBS)
+
+$(PROGRAMS) : $(libcommon) $(libcommonpth)