(RADIATOR) Patch: Monitor AuthBy PAM terminates radiusd
Hugh Irvine
hugh at open.com.au
Wed Sep 1 17:56:17 CDT 2004
Hello Carl -
Many thanks for your assistance.
We'll have a patch out shortly.
regards
Hugh
On 2 Sep 2004, at 08:45, Carl Litt wrote:
> Hello,
>
> I would like to submit a patch for a fatal bug I found in Radiator 3.9.
>
> I was trying to use AuthBy PAM in the <Monitor> clause, but when I
> tried to log into the monitor interface radiusd died with:
>
> Can't call method "logPassword" on an undefined value at
> /usr/lib/perl5/site_perl/Radius/AuthPAM.pm line 152.
>
> The code at this location is trying to call the logPassword method on
> $p->{Handler}, however since this request came from the Monitor and
> not a Realm/Handler clause there is no ->{Handler}.
>
> There are several other AuthBy modules I can see which might fail in
> the same way when used in <Monitor>. Specifically:
>
> AuthADSI.pm
> AuthIMAP.pm
> AuthNT.pm
> AuthOPIE.pm
> AuthOTP.pm
> AuthPOP3.pm
> AuthTACACSPLUS.pm
> AuthURL.pm
>
>
> A more appropriate fix would be to fake a ->{Handler} on
> authentication requests generated by <Monitor>.
>
> Carl Litt
> Network Administrator
> Execulink Internet
> --- Radius/AuthPAM.pm.dist Fri Nov 29 01:10:17 2002
> +++ Radius/AuthPAM.pm Wed Sep 1 18:38:15 2004
> @@ -149,12 +149,12 @@
> return $self->checkAttributes($extra_checks, $p)
> if $extra_checks;
>
> - $p->{Handler}->logPassword($user_name, $password, 'PAM', 0, $p);
> + $p->{Handler}->logPassword($user_name, $password, 'PAM', 0, $p)
> if $p->{Handler};
> $result = $main::ACCEPT;
> }
> else
> {
> - $p->{Handler}->logPassword($user_name, $password, 'PAM', 0, $p);
> + $p->{Handler}->logPassword($user_name, $password, 'PAM', 0, $p)
> if $p->{Handler};
> $result = $main::REJECT;
> $reason = $pamh->pam_strerror($res) . ': ' . $last_message;
> # Forget about that request;
> <carl.vcf>
NB: have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?
--
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.
--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list