aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2014-10-17 13:59:45 +0000
committerWerner Koch <[email protected]>2014-10-17 13:59:45 +0000
commit6d9491842d5da597980eaa59e1e3e2137965fe09 (patch)
tree36008bfadfbb0a248d7b063130e27ba414cfc273 /dirmngr/dirmngr.c
parentw32: Set SYSROOT to help finding config scripts. (diff)
downloadgnupg-6d9491842d5da597980eaa59e1e3e2137965fe09.tar.gz
gnupg-6d9491842d5da597980eaa59e1e3e2137965fe09.zip
dirmngr: Allow building without LDAP support.
* configure.ac: Add option --disable-ldap. (USE_LDAP): New ac_define and am_conditional. * dirmngr/Makefile.am: Take care of USE_LDAP. * dirmngr/dirmngr.c (!USE_LDAP): Make all ldap options dummy options and do not call any ldap function. * dirmngr/server.c (!USE_LDAP): Do not call any ldap function. * dirmngr/crlfetch.c (!USE_LDAP): Ditto. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/dirmngr.c')
-rw-r--r--dirmngr/dirmngr.c39
1 files changed, 35 insertions, 4 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index f629cfdea..95f90584e 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -60,9 +60,13 @@
#include "crlcache.h"
#include "crlfetch.h"
#include "misc.h"
-#include "ldapserver.h"
+#if USE_LDAP
+# include "ldapserver.h"
+#endif
#include "asshelp.h"
-#include "ldap-wrapper.h"
+#if USE_LDAP
+# include "ldap-wrapper.h"
+#endif
#include "../common/init.h"
#include "gc-opt-flags.h"
@@ -294,7 +298,9 @@ static int my_tlskey_current_fd;
/* Prototypes. */
static void cleanup (void);
+#if USE_LDAP
static ldap_server_t parse_ldapserver_file (const char* filename);
+#endif /*USE_LDAP*/
static fingerprint_list_t parse_ocsp_signer (const char *string);
static void handle_connections (assuan_fd_t listen_fd);
@@ -445,7 +451,9 @@ wrong_args (const char *text)
static void
shutdown_reaper (void)
{
+#if USE_LDAP
ldap_wrapper_wait_connections ();
+#endif
}
@@ -627,7 +635,9 @@ main (int argc, char **argv)
int nodetach = 0;
int csh_style = 0;
char *logfile = NULL;
+#if USE_LDAP
char *ldapfile = NULL;
+#endif /*USE_LDAP*/
int debug_wait = 0;
int rc;
int homedir_seen = 0;
@@ -869,7 +879,11 @@ main (int argc, char **argv)
case oLogFile: logfile = pargs.r.ret_str; break;
case oCsh: csh_style = 1; break;
case oSh: csh_style = 0; break;
- case oLDAPFile: ldapfile = pargs.r.ret_str; break;
+ case oLDAPFile:
+# if USE_LDAP
+ ldapfile = pargs.r.ret_str;
+# endif /*USE_LDAP*/
+ break;
case oLDAPAddServers: opt.add_new_ldapservers = 1; break;
case oLDAPTimeout:
opt.ldaptimeout = pargs.r.ret_int;
@@ -948,6 +962,7 @@ main (int argc, char **argv)
set_debug ();
/* Get LDAP server list from file. */
+#if USE_LDAP
if (!ldapfile)
{
ldapfile = make_filename (opt.homedir,
@@ -959,6 +974,7 @@ main (int argc, char **argv)
}
else
opt.ldapservers = parse_ldapserver_file (ldapfile);
+#endif /*USE_LDAP*/
#ifndef HAVE_W32_SYSTEM
/* We need to ignore the PIPE signal because the we might log to a
@@ -995,7 +1011,10 @@ main (int argc, char **argv)
log_debug ("... okay\n");
}
+#if USE_LDAP
ldap_wrapper_launch_thread ();
+#endif /*USE_LDAP*/
+
cert_cache_init ();
crl_cache_init ();
start_command_handler (ASSUAN_INVALID_FD);
@@ -1170,7 +1189,10 @@ main (int argc, char **argv)
}
#endif
+#if USE_LDAP
ldap_wrapper_launch_thread ();
+#endif /*USE_LDAP*/
+
cert_cache_init ();
crl_cache_init ();
#ifdef USE_W32_SERVICE
@@ -1196,7 +1218,9 @@ main (int argc, char **argv)
/* Just list the CRL cache and exit. */
if (argc)
wrong_args ("--list-crls");
+#if USE_LDAP
ldap_wrapper_launch_thread ();
+#endif /*USE_LDAP*/
crl_cache_init ();
crl_cache_list (es_stdout);
}
@@ -1207,7 +1231,9 @@ main (int argc, char **argv)
memset (&ctrlbuf, 0, sizeof ctrlbuf);
dirmngr_init_default_ctrl (&ctrlbuf);
+#if USE_LDAP
ldap_wrapper_launch_thread ();
+#endif /*USE_LDAP*/
cert_cache_init ();
crl_cache_init ();
if (!argc)
@@ -1229,7 +1255,9 @@ main (int argc, char **argv)
memset (&ctrlbuf, 0, sizeof ctrlbuf);
dirmngr_init_default_ctrl (&ctrlbuf);
+#if USE_LDAP
ldap_wrapper_launch_thread ();
+#endif /*USE_LDAP*/
cert_cache_init ();
crl_cache_init ();
rc = crl_fetch (&ctrlbuf, argv[0], &reader);
@@ -1376,7 +1404,9 @@ cleanup (void)
crl_cache_deinit ();
cert_cache_deinit (1);
+#if USE_LDAP
ldapserver_list_free (opt.ldapservers);
+#endif /*USE_LDAP*/
opt.ldapservers = NULL;
if (cleanup_socket)
@@ -1419,6 +1449,7 @@ dirmngr_init_default_ctrl (ctrl_t ctrl)
5. field: Base DN
*/
+#if USE_LDAP
static ldap_server_t
parse_ldapserver_file (const char* filename)
{
@@ -1475,7 +1506,7 @@ parse_ldapserver_file (const char* filename)
return serverstart;
}
-
+#endif /*USE_LDAP*/
static fingerprint_list_t
parse_ocsp_signer (const char *string)