about summary refs log tree commit homepage
path: root/lib/PublicInbox/Daemon.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-08-04 06:27:39 +0000
committerEric Wong <e@80x24.org>2022-08-04 07:01:01 +0000
commit03b54f9235dccd111b927de4e7ef76d823a3024a (patch)
tree5fe815a2503e25a5902ec12d8d14bbb131707ce1 /lib/PublicInbox/Daemon.pm
parente40b7230379f37b31563291bbbee2f0899874fed (diff)
downloadpublic-inbox-03b54f9235dccd111b927de4e7ef76d823a3024a.tar.gz
We must not clobber already-parsed per-listener options when
handling inherited sockets which are well-known.  Unfortunately,
this isn't easy to test in a non-intrusive way for regular
users.
Diffstat (limited to 'lib/PublicInbox/Daemon.pm')
-rw-r--r--lib/PublicInbox/Daemon.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index 67b26d2e..86234771 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -261,10 +261,10 @@ EOF
         for my $sockname (@inherited_names) {
                 $sockname =~ /:([0-9]+)\z/ or next;
                 if (my $scheme = $KNOWN_TLS{$1}) {
-                        $xnetd->{$sockname} = load_mod($scheme);
+                        $xnetd->{$sockname} //= load_mod($scheme);
                         $tls_opt{"$scheme://$sockname"} ||= accept_tls_opt('');
                 } elsif (($scheme = $KNOWN_STARTTLS{$1})) {
-                        $xnetd->{$sockname} = load_mod($scheme);
+                        $xnetd->{$sockname} //= load_mod($scheme);
                         $tls_opt{"$scheme://$sockname"} ||= accept_tls_opt('');
                         $tls_opt{''} ||= accept_tls_opt('');
                 }