diff options
-rw-r--r-- | lib/PublicInbox/NNTP.pm | 12 | ||||
-rw-r--r-- | lib/PublicInbox/NNTPD.pm | 3 |
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index d314a3d1..3b16a66a 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -321,7 +321,7 @@ sub ngpat2re (;$) { sub newnews_i { my ($self, $names, $ts, $prev) = @_; my $ngname = $names->[0]; - if (my $ibx = $self->{nntpd}->{groups}->{$ngname}) { + if (my $ibx = $self->{nntpd}->{pi_config}->{-by_newsgroup}->{$ngname}) { if (my $over = $ibx->over) { my $msgs = $over->query_ts($ts, $$prev); if (scalar @$msgs) { @@ -360,13 +360,13 @@ sub cmd_newnews ($$$$;$$) { sub cmd_group ($$) { my ($self, $group) = @_; - my $no_such = '411 no such news group'; my $nntpd = $self->{nntpd}; - my $ng = $nntpd->{groups}->{$group} or return $no_such; + my $ibx = $nntpd->{pi_config}->{-by_newsgroup}->{$group} or + return '411 no such news group'; $nntpd->idler_start; - $self->{ng} = $ng; - my ($min, $max) = $ng->mm->minmax; + $self->{ng} = $ibx; + my ($min, $max) = $ibx->mm->minmax; $self->{article} = $min; my $est_size = $max - $min; "211 $est_size $min $max $group"; @@ -743,7 +743,7 @@ EOF } # no warning here, $mid is just invalid } else { # slow path for non-ALL users - foreach my $ibx (values %{$self->{nntpd}->{groups}}) { + for my $ibx (values %{$pi_cfg->{-by_newsgroup}}) { next if defined $self_ng && $ibx eq $self_ng; my $n = $ibx->mm->num_for($mid); return ($ibx, $n) if defined $n; diff --git a/lib/PublicInbox/NNTPD.pm b/lib/PublicInbox/NNTPD.pm index 33bc5fda..5e287857 100644 --- a/lib/PublicInbox/NNTPD.pm +++ b/lib/PublicInbox/NNTPD.pm @@ -60,9 +60,8 @@ sub refresh_groups { } }); $self->{groupnames} = [ sort(keys %$groups) ]; - $self->{pi_config} = $pi_config; # this will destroy old groups that got deleted - $self->{groups} = $groups; + $self->{pi_config} = $pi_config; } sub idler_start { |