Inadequate error reporting from nnrpd Perl loader

Julien ÉLIE julien at trigofacile.com
Mon Feb 13 12:26:07 UTC 2012


Hi River,

> When nnrpd (2.5.2) fails to load the perl_auth script (in this case, due
> to a permissions error), and a client tries to authenticate via
> AUTHINFO USER/PASS, it logs the following:
> 
> Feb  3 17:38:56 isis nnrpd[2481]: localhost (::1) connect - port 119
> Feb  3 17:38:56 isis nnrpd[2481]: Reading access from /usr/pkg/etc/inn/readers.conf
> Feb  3 17:38:56 isis nnrpd[2481]: Auth strategy 'rt-internal' does not match client.  Removing.
> Feb  3 17:38:56 isis nnrpd[2481]: localhost res rt-internal
> Feb  3 17:38:56 isis nnrpd[2481]: localhost no_match_user rt-internal *,!rt-*
> Feb  3 17:38:56 isis nnrpd[2481]: localhost match_user rt-internal rt-internal,rt-localhost
> Feb  3 17:39:00 isis nnrpd[2481]: SERVER perl filtering enabled
> Feb  3 17:39:00 isis nnrpd[2481]: SERVER perl filtering disabled
> Feb  3 17:39:00 isis nnrpd[2481]: Perl function authenticate not defined
> Feb  3 17:39:00 isis nnrpd[2481]: localhost times user 0.097 system 0.019 idle 0.000 elapsed 4.768
> 
> At no point does it indicate there was any error loading the script, or
> what the error might be.

Isn't the following line what you were looking for?
Feb  3 17:39:00 isis nnrpd[2481]: Perl function authenticate not defined

Besides, this line should also be in your news.err file as I see the message
is logged at the error level in nnrpd/perl.c:

    if (perl_get_cv("authenticate", 0) == NULL) {
        syslog(L_ERROR, "Perl function authenticate not defined");
        Reply("%d Internal error (3).  Goodbye!\r\n", NNTP_FAIL_TERMINATING);
        ExitWithStats(1, true);
    }


And also in your daily innreport errors I think (I have not tested right now).

-- 
Julien ÉLIE

« – Que lui est-il arrivé ? Un choc moral ?
  – Oui, avec un menhir. » (Astérix)



More information about the inn-workers mailing list