X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTPD.pm;h=4401a29b963fed06abcb670a93a8cc16f55defc9;hb=refs%2Fheads%2Fmaster;hp=f31d43818e5570fa44f33a8c63fedc9610930956;hpb=23af251dd607c4e75ab1e68063f2c885c48cc035;p=public-inbox.git diff --git a/lib/PublicInbox/NNTPD.pm b/lib/PublicInbox/NNTPD.pm index f31d4381..4401a29b 100644 --- a/lib/PublicInbox/NNTPD.pm +++ b/lib/PublicInbox/NNTPD.pm @@ -13,29 +13,28 @@ use PublicInbox::NNTP; sub new { my ($class) = @_; - my $pi_cfg = PublicInbox::Config->new; - my $name = $pi_cfg->{'publicinbox.nntpserver'}; - if (!defined($name) or $name eq '') { - $name = hostname; - } elsif (ref($name) eq 'ARRAY') { - $name = $name->[0]; - } - bless { - groups => {}, err => \*STDERR, out => \*STDOUT, - pi_cfg => $pi_cfg, - servername => $name, - greet => \"201 $name ready - post via email\r\n", - # accept_tls => { SSL_server => 1, ..., SSL_reuse_ctx => ... } + # pi_cfg => $pi_cfg, + # ssl_ctx_opt => { SSL_cert_file => ..., SSL_key_file => ... } # idler => PublicInbox::InboxIdle }, $class; } sub refresh_groups { my ($self, $sig) = @_; - my $pi_cfg = $sig ? PublicInbox::Config->new : $self->{pi_cfg}; + my $pi_cfg = PublicInbox::Config->new; + my $name = $pi_cfg->{'publicinbox.nntpserver'}; + if (!defined($name) or $name eq '') { + $name = hostname; + } elsif (ref($name) eq 'ARRAY') { + $name = $name->[0]; + } + if ($name ne ($self->{servername} // '')) { + $self->{servername} = $name; + $self->{greet} = \"201 $name ready - post via email\r\n"; + } my $groups = $pi_cfg->{-by_newsgroup}; # filled during each_inbox my $cache = eval { $pi_cfg->ALL->misc->nntpd_cache_load } // {}; $pi_cfg->each_inbox(sub { @@ -46,10 +45,8 @@ sub refresh_groups { # only valid if msgmap and over works # preload to avoid fragmentation: $ibx->description; - $ibx->base_url; } else { delete $groups->{$ngname}; - delete $ibx->{newsgroup}; # Note: don't be tempted to delete more for memory # savings just yet: NNTP, IMAP, and WWW may all # run in the same process someday.