[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990919: marked as done (unblock: exim4/4.94.2-6)



Your message dated Sun, 11 Jul 2021 18:41:37 +0000
with message-id <E1m2eOX-0002fS-Qw@respighi.debian.org>
and subject line unblock exim4
has caused the Debian Bug report #990919,
regarding unblock: exim4/4.94.2-6
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
990919: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990919
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package exim4

  * Cherrypick
    78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch from
    upstream GIT master. This allows one to disable creation of a
    daemon notifier socket by either setting notifier_socket to a empty value
    or specifying -oY commandline option.
  * Init script: For QUEUERUNNER='separate' start daemons with -oY commandline
    option to disable daemon notifier socket. Enforce lockstep ugrade of -base
    and *daemon* by temporarily adding a versioned Breaks to exim4-base on
    older *daemon*. Closes: #988844
(change by Andreas Metzler)

This fixes a regression from buster.

Maintainer and bug submitter are in Cc, ack/nak would be appreciated.

unblock exim4/4.94.2-6
diff -Nru exim4-4.94.2/debian/changelog exim4-4.94.2/debian/changelog
--- exim4-4.94.2/debian/changelog	2021-05-17 18:45:00.000000000 +0300
+++ exim4-4.94.2/debian/changelog	2021-05-26 19:49:44.000000000 +0300
@@ -1,3 +1,17 @@
+exim4 (4.94.2-6) unstable; urgency=medium
+
+  * Cherrypick
+    78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch from
+    upstream GIT master. This allows one to disable creation of a
+    daemon notifier socket by either setting notifier_socket to a empty value
+    or specifying -oY commandline option.
+  * Init script: For QUEUERUNNER='separate' start daemons with -oY commandline
+    option to disable daemon notifier socket. Enforce lockstep ugrade of -base
+    and *daemon* by temporarily adding a versioned Breaks to exim4-base on
+    older *daemon*. Closes: #988844
+
+ -- Andreas Metzler <ametzler@debian.org>  Wed, 26 May 2021 18:49:44 +0200
+
 exim4 (4.94.2-5) unstable; urgency=high
 
   * 73_04-Fix-host_name_lookup-Close-2747.patch from exim-4.94.2+fixes.
diff -Nru exim4-4.94.2/debian/control exim4-4.94.2/debian/control
--- exim4-4.94.2/debian/control	2021-05-04 19:23:02.000000000 +0300
+++ exim4-4.94.2/debian/control	2021-05-26 19:49:44.000000000 +0300
@@ -1,3 +1,6 @@
+# * -base and daemon of the same upstream version enforced by a Breaks
+#   in -base and a versioned Depends of the daemon-packages on -base
+# * -base depends on -config, without automatic versioning.
 Source: exim4
 Section: mail
 Priority: standard
@@ -42,7 +45,10 @@
 Breaks:
  exim4-daemon-custom (<<${Upstream-Version}),
  exim4-daemon-heavy (<<${Upstream-Version}),
- exim4-daemon-light (<<${Upstream-Version})
+ exim4-daemon-light (<<${Upstream-Version}),
+ exim4-daemon-custom (<< 4.94.2-6~),
+ exim4-daemon-heavy (<< 4.94.2-6~),
+ exim4-daemon-light (<< 4.94.2-6~)
 Conflicts: exim, exim-tls
 Replaces:
  exim,
diff -Nru exim4-4.94.2/debian/exim4-base.exim4.init exim4-4.94.2/debian/exim4-base.exim4.init
--- exim4-4.94.2/debian/exim4-base.exim4.init	2020-05-23 19:20:09.000000000 +0300
+++ exim4-4.94.2/debian/exim4-base.exim4.init	2021-05-23 12:46:53.000000000 +0300
@@ -95,13 +95,13 @@
     separate)
       start_daemon -p "$PIDFILE" \
         "$DAEMON" -bd \
-        ${COMMONOPTIONS} \
+        ${COMMONOPTIONS} -oY \
         ${SMTPLISTENEROPTIONS}
       log_progress_msg "exim4_listener"
       start_daemon -p "$QRPIDFILE" \
         "$DAEMON" -oP $QRPIDFILE \
         "-q${QFLAGS}${QUEUEINTERVAL}" \
-        ${COMMONOPTIONS} \
+        ${COMMONOPTIONS} -oY \
         ${QUEUERUNNEROPTIONS}
       log_progress_msg "exim4_queuerunner"
       ;;
diff -Nru exim4-4.94.2/debian/patches/78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch exim4-4.94.2/debian/patches/78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch
--- exim4-4.94.2/debian/patches/78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch	1970-01-01 02:00:00.000000000 +0200
+++ exim4-4.94.2/debian/patches/78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch	2021-05-22 14:50:52.000000000 +0300
@@ -0,0 +1,198 @@
+From 99ea5f6faeaf714e34bbcd75fdc50cc94dc7a1c8 Mon Sep 17 00:00:00 2001
+From: Jeremy Harris <jgh146exb@wizmail.org>
+Date: Fri, 10 Jul 2020 13:55:25 +0100
+Subject: [PATCH] Command-line option for no notifier socket.  Bug 2616
+
+---
+ doc/doc-docbook/spec.xfpt             | 33 +++++++++++++++++++++++++--
+ doc/NewStuff                  |  2 ++
+ src/daemon.c                      |  5 ++++
+ src/exim.c                        |  9 +++++++-
+ test/scripts/0999-EXP-Queue-Ramp/0999 |  2 +-
+ 5 files changed, 47 insertions(+), 4 deletions(-)
+
+--- a/doc/NewStuff
++++ b/doc/NewStuff
+@@ -2,14 +2,20 @@ New Features in Exim
+ --------------------
+ 
+ This file contains descriptions of new features that have been added to Exim.
+ Before a formal release, there may be quite a lot of detail so that people can
+ test from the snapshots or the Git before the documentation is updated. Once
+ the documentation is updated, this file is reduced to a short list.
+ 
++Cherrypicked from GIT master:
++------------
++
++10. A command-line option to have a daemon not create a notifier socket.
++
++
+ Version 4.95
+ ------------
+ 
+  1. The fast-ramp two phase queue run support, previously experimental, is
+     now supported by default.
+ 
+  2. The native SRS support, previously experimental, is now supported. It is
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -1140,14 +1140,19 @@ static void
+ daemon_notifier_socket(void)
+ {
+ int fd;
+ const uschar * where;
+ struct sockaddr_un sa_un = {.sun_family = AF_UNIX};
+ int len;
+ 
++if (!notifier_socket || !*notifier_socket)
++  {
++  DEBUG(D_any) debug_printf("-oY used so not creating notifier socket\n");
++  return;
++  }
+ if (override_local_interfaces && !override_pid_file_path)
+   {
+   DEBUG(D_any)
+     debug_printf("-oX used without -oP so not creating notifier socket\n");
+   return;
+   }
+ 
+--- a/src/exim.c
++++ b/src/exim.c
+@@ -3231,14 +3231,21 @@ on the second character (the one after '
+       /* Limits: Is there a real limit we want here?  1024 is very arbitrary. */
+ 
+       case 'X':
+ 	if (*argrest) badarg = TRUE;
+ 	else override_local_interfaces = string_copy_taint(exim_str_fail_toolong(argv[++i], 1024, "-oX"), TRUE);
+ 	break;
+ 
++      /* -oY: Override creation of daemon notifier socket */
++
++      case 'Y':
++	if (*argrest) badarg = TRUE;
++	else notifier_socket = NULL;
++	break;
++
+       /* Unknown -o argument */
+ 
+       default:
+ 	badarg = TRUE;
+       }
+     break;
+ 
+@@ -4818,15 +4825,15 @@ if (originator_login == NULL || f.runnin
+     log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Failed to get user name for uid %d",
+       (int)real_uid);
+   }
+ 
+ /* Ensure that the user name is in a suitable form for use as a "phrase" in an
+ RFC822 address.*/
+ 
+-originator_name = parse_fix_phrase(originator_name, Ustrlen(originator_name));
++originator_name = US parse_fix_phrase(originator_name, Ustrlen(originator_name));
+ 
+ /* If a message is created by this call of Exim, the uid/gid of its originator
+ are those of the caller. These values are overridden if an existing message is
+ read in from the spool. */
+ 
+ originator_uid = real_uid;
+ originator_gid = real_gid;
+--- a/doc/spec.txt
++++ b/doc/spec.txt
+@@ -4189,14 +4189,27 @@ brief message about itself and exits.
+ 
+     This option is relevant only when the -bd (start listening daemon) option
+     is also given. It controls which ports and interfaces the daemon uses.
+     Details of the syntax, and how it interacts with configuration file
+     options, are given in chapter 13. When -oX is used to start a daemon, no
+     pid file is written unless -oP is also present to specify a pid filename.
+ 
++-oY
++
++    This option controls the creation of an inter-process communications
++    endpoint by the Exim daemon.  It is only relevant when the -bd
++    (start listening daemon) option is also given.  Normally the daemon
++    creates this socket, unless a oX and no -oP option is also
++    present.  If this option is given then the socket will not be created.
++    This could be required if the system is running multiple daemons.
++    
++    The socket is currently used for
++      * fast ramp-up of queue runner processes
++      * obtaining a current queue size
++
+ -pd
+ 
+     This option applies when an embedded Perl interpreter is linked with Exim
+     (see chapter 12). It overrides the setting of the perl_at_start option,
+     forcing the starting of the interpreter to be delayed until it is needed.
+ 
+ -ps
+@@ -11733,14 +11746,16 @@ $queue_name
+ 
+     The name of the spool queue in use; empty for the default queue.
+ 
+ $queue_size
+ 
+     This variable contains the number of messages queued. It is evaluated on
+     demand, but no more often than once every minute.
++    If there is no daemon notifier socket open, the value will be
++    an empty string.
+ 
+ $r_...
+ 
+     Values can be placed in these variables by the set option of a router. They
+     can be given any name that starts with $r_. The values persist for the
+     address being handled through subsequent routers and the eventual
+     transport.
+@@ -15227,18 +15242,20 @@ driver.
+ +-----------------------------------------------------------------------------+
+ 
+ This option gives the name for a unix-domain socket on which the daemon listens
+ for work and information-requests. Only installations running multiple daemons
+ sharing a spool directory should need to modify the default.
+ 
+ The option is expanded before use. If the platform supports Linux-style
+-abstract socket names, the result is used with a nul byte prefixed. Otherwise,
+-it should be a full path name and use a directory accessible to Exim.
++abstract socket names, the result is used with a nul byte prefixed.
++Otherwise, if nonempty, it should be a full path name and use a directory
++accessible to Exim.
+ 
+-If the Exim command line uses a -oX option and does not use -oP then a notifier
++If this option is set as empty, or the command line -oY option is used, or
++the command line uses a -oX option and does not use -oP, then a notifier
+ socket is not created.
+ 
+ +-----------------------------------------------------------------------------+
+ |               |Use:  |  Type:   |Default: +no_sslv2 +no_sslv3 +single_dh_use|
+ |openssl_options| main |  string  |               +no_ticket +no_renegotiation|
+ |               |      |   list   |                                           |
+ +-----------------------------------------------------------------------------+
+--- a/doc/exim.8
++++ b/doc/exim.8
+@@ -1445,14 +1445,25 @@ the \fBsmtp_receive_timeout\fP option; i
+ This option has exactly the same effect as \fB\-v\fP.
+ .TP 10
+ \fB\-oX\fP <\fInumber or string\fP>
+ This option is relevant only when the \fB\-bd\fP (start listening daemon) option
+ is also given. It controls which ports and interfaces the daemon uses. When \fB\-oX\fP is used to start a daemon, no pid
+ file is written unless \fB\-oP\fP is also present to specify a pid filename.
+ .TP 10
++\fB\-oY\fP
++This option controls the creation of an inter-process communications endpoint
++by the Exim daemon. It is only relevant when the \fB\-bd\fP (start listening
++daemon) option is also given.
++Normally the daemon creates this socket, unless a \fB\-oX\fP and no \fB\-oP\fP
++option is also present.
++If this option is given then the socket will not be created.  This could be
++required if the system is running multiple daemons.
++The socket is currently used for fast ramp-up of queue runner processes and
++obtaining a current queue size.
++.TP 10
+ \fB\-pd\fP
+ This option applies when an embedded Perl interpreter is linked with Exim. It overrides the setting of the \fBperl_at_start\fP
+ option, forcing the starting of the interpreter to be delayed until it is
+ needed.
+ .TP 10
+ \fB\-ps\fP
+ This option applies when an embedded Perl interpreter is linked with Exim. It overrides the setting of the \fBperl_at_start\fP
diff -Nru exim4-4.94.2/debian/patches/series exim4-4.94.2/debian/patches/series
--- exim4-4.94.2/debian/patches/series	2021-05-17 14:05:54.000000000 +0300
+++ exim4-4.94.2/debian/patches/series	2021-05-22 14:27:33.000000000 +0300
@@ -36,4 +36,5 @@
 75_26-Disable-taintchecks-for-mkdir-this-isn-t-part-of-4.9.patch
 75_27_Fix-logging-with-empty-element-in-log_file_path-Bug-.patch
 75_28_Fix-logging-with-build-time-config-and-empty-element.patch
+78_01-Command-line-option-for-no-notifier-socket.-Bug-2616.patch
 90_localscan_dlopen.dpatch

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: