git://git.exim.org
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f086048
)
Support use-but-not-create of notifier socket
author
Jeremy Harris
<jgh146exb@wizmail.org>
Fri, 27 Jan 2023 10:31:11 +0000
(10:31 +0000)
committer
Jeremy Harris
<jgh146exb@wizmail.org>
Fri, 27 Jan 2023 10:31:11 +0000
(10:31 +0000)
doc/doc-docbook/spec.xfpt
patch
|
blob
|
history
src/src/daemon.c
patch
|
blob
|
history
src/src/exim.c
patch
|
blob
|
history
src/src/globals.c
patch
|
blob
|
history
src/src/globals.h
patch
|
blob
|
history
diff --git
a/doc/doc-docbook/spec.xfpt
b/doc/doc-docbook/spec.xfpt
index 4a6b9bfd06d55e3af6aed79f61b4f40b2345b691..cc59230698cd8af1bc59f403923edeaf0fca40e9 100644
(file)
--- a/
doc/doc-docbook/spec.xfpt
+++ b/
doc/doc-docbook/spec.xfpt
@@
-4397,15
+4397,21
@@
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.
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.
+.new
+If this option is given then the socket will not be created. This is required
+if the system is running multiple daemons, in which case it should
+be used on all.
+The features supported by the socket will not be available in such cases.
The socket is currently used for
.ilist
fast ramp-up of queue runner processes
.next
The socket is currently used for
.ilist
fast ramp-up of queue runner processes
.next
+caching compiled regexes
+.next
obtaining a current queue size
.endlist
obtaining a current queue size
.endlist
+.wen
.cmdopt -pd
.cindex "Perl" "starting the interpreter"
.cmdopt -pd
.cindex "Perl" "starting the interpreter"
diff --git
a/src/src/daemon.c
b/src/src/daemon.c
index 05d94b1885743b670467cb13b256dd1de8af7cdb..c3ab735d05e471c57a834fb1a979f3fd30588dc7 100644
(file)
--- a/
src/src/daemon.c
+++ b/
src/src/daemon.c
@@
-1169,7
+1169,7
@@
const uschar * where;
struct sockaddr_un sa_un = {.sun_family = AF_UNIX};
ssize_t len;
struct sockaddr_un sa_un = {.sun_family = AF_UNIX};
ssize_t len;
-if (!
notifier_socket || !*notifier_socket
)
+if (!
f.notifier_socket_en
)
{
DEBUG(D_any) debug_printf("-oY used so not creating notifier socket\n");
return;
{
DEBUG(D_any) debug_printf("-oY used so not creating notifier socket\n");
return;
@@
-1180,6
+1180,11
@@
if (override_local_interfaces && !override_pid_file_path)
debug_printf("-oX used without -oP so not creating notifier socket\n");
return;
}
debug_printf("-oX used without -oP so not creating notifier socket\n");
return;
}
+if (!notifier_socket || !*notifier_socket)
+ {
+ DEBUG(D_any) debug_printf("no name for notifier socket\n");
+ return;
+ }
DEBUG(D_any) debug_printf("creating notifier socket\n");
DEBUG(D_any) debug_printf("creating notifier socket\n");
diff --git
a/src/src/exim.c
b/src/src/exim.c
index dc082f3924a197cb67a3c6e3362434b6ede42288..9072ffd5440f63037b46284e2347527f7e7390a1 100644
(file)
--- a/
src/src/exim.c
+++ b/
src/src/exim.c
@@
-3450,7
+3450,7
@@
on the second character (the one after '-'), to save some effort. */
case 'Y':
if (*argrest) badarg = TRUE;
case 'Y':
if (*argrest) badarg = TRUE;
- else
notifier_socket = NULL
;
+ else
f.notifier_socket_en = FALSE
;
break;
/* Unknown -o argument */
break;
/* Unknown -o argument */
diff --git
a/src/src/globals.c
b/src/src/globals.c
index efe34902a2586bb137913a2549e0faee26c3ef44..7af345465cdfd511df52b59da543bbba0f30f259 100644
(file)
--- a/
src/src/globals.c
+++ b/
src/src/globals.c
@@
-280,6
+280,7
@@
struct global_flags f =
.no_mbox_unspool = FALSE,
#endif
.no_multiline_responses = FALSE,
.no_mbox_unspool = FALSE,
#endif
.no_multiline_responses = FALSE,
+ .notifier_socket_en = TRUE,
.parse_allow_group = FALSE,
.parse_found_group = FALSE,
.parse_allow_group = FALSE,
.parse_found_group = FALSE,
diff --git
a/src/src/globals.h
b/src/src/globals.h
index 5aae73fba5b3504ade393a0a5feea12e2aee2c84..f2e1476708034664107541f80ed97434cfe7783e 100644
(file)
--- a/
src/src/globals.h
+++ b/
src/src/globals.h
@@
-246,6
+246,7
@@
extern struct global_flags {
BOOL no_mbox_unspool :1; /* don't unlink files in /scan directory */
#endif
BOOL no_multiline_responses :1; /* For broken clients */
BOOL no_mbox_unspool :1; /* don't unlink files in /scan directory */
#endif
BOOL no_multiline_responses :1; /* For broken clients */
+ BOOL notifier_socket_en :1; /* Permit create of notifier socket */
BOOL parse_allow_group :1; /* Allow group syntax */
BOOL parse_found_group :1; /* In the middle of a group */
BOOL parse_allow_group :1; /* Allow group syntax */
BOOL parse_found_group :1; /* In the middle of a group */