Re: [RadiusNT] RadiusNt 3 Auth Problem

Peter Deacon ( peterd@iea-software.com )
Sun, 9 Jan 2000 13:42:06 -0800 (Pacific Standard Time)

On Sun, 9 Jan 2000 hostmaster@interaxs.net wrote:

> I have purchased and installed version 3 and I am having a problem with it.

> The caching is great but, it seems that any additions or changes to the
> Active status of an account are not recognized. We are using an MSSQL db.

> If a new user signs up online, all necessary db entries are made during the
> signup process to allow them instant access to our network. Since
> installing v 3, they cannot authenticate. The RadLogs reason is 10 User not
> found.

> If a users account has been deactivated for non-payment (Active set to 0)
> and a payment is recorded to their account, they are automatically
> reinstated to Active = 1. They cannot authenticate. Again RagLogs reason 10
> User not found.

It's a bug in the RadGetUser stored procedure found in the install/upgrade
scripts for RadiusNT databases.

Replace the proc below with the one currently in your mssql db.

(Don't do this if your using Emerald)

CREATE PROCEDURE RadGetUser @user VARCHAR(64) , @password VARCHAR(32) AS
SELECT sa.AccountID, sa.Login, sa.Password, NULL, sa.AccountType, sa.LoginLimit, sa.TimeLeft,
MasterExpire=CASE WHEN maExpireDate IS NULL THEN NULL ELSE DATEDIFF(Day,'Jan 11970',DATEADD(Day,ma.Extension+ma.OverDue,maExpireDate)) END,
SubExpire=CASE WHEN saExpireDate IS NULL THEN NULL ELSE DATEDIFF(Day,'Jan 1 1970',DATEADD(Day,sa.Extension,saExpireDate))
END FROM SubAccounts sa, MasterAccounts ma
WHERE sa.CustomerID = ma.CustomerID
AND sa.Active <> 0
AND ma.Active <> 0
AND sa.Login = @user
AND (@password IS NULL OR sa.Password = @password)
GO

ciao,
Peter

For more information about this list (including removal) go to:
http://www.iea-software.com/support/maillists/liststart