Patch imported from bugzilla 1031. Axel Rau.
[users/jgh/exim.git] / src / src / readconf.c
index bddb74c0a370cfe3c1ab5a55f56c2b48bd25cf3c..a0c5ca0cdd0d63b2898c9a684679a385f8881774 100644 (file)
@@ -192,6 +192,9 @@ static optionlist optionlist_config[] = {
   { "daemon_smtp_ports",        opt_stringptr,   &daemon_smtp_port },
   { "daemon_startup_retries",   opt_int,         &daemon_startup_retries },
   { "daemon_startup_sleep",     opt_time,        &daemon_startup_sleep },
+#ifdef EXPERIMENTAL_DBL
+  { "dbl_delivery_query",       opt_stringptr,   &dbl_delivery_query },
+#endif
 #ifdef EXPERIMENTAL_DCC
   { "dcc_direct_add_header",    opt_bool,        &dcc_direct_add_header },
   { "dccifd_address",           opt_stringptr,   &dccifd_address },
@@ -2805,8 +2808,10 @@ if ((pid = fork()) < 0)
 
 if (pid == 0)
   {
-  exim_setugid(exim_uid, exim_gid, FALSE,
-      US"calling tls_validate_require_cipher");
+  /* in some modes, will have dropped privilege already */
+  if (!geteuid())
+    exim_setugid(exim_uid, exim_gid, FALSE,
+        US"calling tls_validate_require_cipher");
 
   errmsg = tls_validate_require_cipher();
   if (errmsg)
@@ -2822,7 +2827,7 @@ do {
   rc = waitpid(pid, &status, 0);
 } while (rc < 0 && errno == EINTR);
 
-DEBUG(D_all)
+DEBUG(D_tls)
   debug_printf("tls_validate_require_cipher child %d ended: status=0x%x\n",
       (int)pid, status);