diff options
author | Eric Wong <e@80x24.org> | 2022-07-20 01:22:04 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2022-07-20 03:54:29 +0000 |
commit | 08ac230c500560d583362c75583a8acb03c14bf0 (patch) | |
tree | 42b78f3c87523c9a69816b954e28194e39d24405 | |
parent | ed94a9ec2375aa8c159aca7c43f23688bcb8e05d (diff) | |
download | public-inbox-08ac230c500560d583362c75583a8acb03c14bf0.tar.gz |
When inheriting well-known ports from systemd (or similar), we can auto-load the proper *D.pm file based on the port number without requiring command-line args. load_mod also gets fixed to use its argument, instead of implicit $1 since that won't work for our well-known.
-rw-r--r-- | lib/PublicInbox/Daemon.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index d08ce0f9..75719c34 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -77,7 +77,7 @@ sub accept_tls_opt ($) { sub load_mod ($) { my ($scheme) = @_; - my $modc = "PublicInbox::\U$1"; + my $modc = "PublicInbox::\U$scheme"; my $mod = $modc.'D'; eval "require $mod"; # IMAPD|HTTPD|NNTPD|POP3D die $@ if $@; @@ -204,8 +204,10 @@ EOF for my $sockname (@inherited_names) { $sockname =~ /:([0-9]+)\z/ or next; if (my $scheme = $KNOWN_TLS{$1}) { + $xnetd->{$sockname} = load_mod(substr($scheme, 0, -1)); $tls_opt{"$scheme://$sockname"} ||= accept_tls_opt(''); } elsif (($scheme = $KNOWN_STARTTLS{$1})) { + $xnetd->{$sockname} = load_mod($scheme); next if $tls_opt{"$scheme://$sockname"}; $tls_opt{''} ||= accept_tls_opt(''); } |