PAP password

Doug Hardie bc979 at
Wed May 13 07:38:14 CEST 2009

On 12 May 2009, at 20:28, Doug Hardie wrote:

> On 12 May 2009, at 13:29, Doug Hardie wrote:
>> V 2.1.5.  I am having a problem with PAP not using the proper user  
>> id.  IF the user id is just a plain
>> <user_id> then it works properly.  However, I have some realms  
>> setup that have prefixes and suffixes e.g., DUB+<user_id>@lafn.   
>> PAP is trying to find the user_id DUB+<user_id>@lafn rather than  
>> the stripped user id <user_id> and hence it doesn't find a password  
>> for the user.  Everything works just fine if I add Auth-Type :=  
>> Accept to the users file, but thats not a great way to run a  
>> railroad.  Obviously I missed something.
>> hints has:
>> DEFAULT Prefix == "DUB+", Suffix == "@lafn", Strip-User-Name = Yes
>>       Hint = "SlipStream"
>> What have I missed?
> I seem to have reached a dead end with this.  Version 1.x would  
> strip both the prefix and the suffix in Stripped-User-Name and then  
> use that to find the password.  Version 2.x will strip one or the  
> other, but not both.  From what I can see in presufcmp there appears  
> to be no easy way to get it to strip both.  I have tried a number of  
> kludges in hints to try and get that done.  None seem to work.  I am  
> having to run a production server with Auth-Type := Accept to keep  
> things up and running, but this is not really acceptable.
> One kludge that appears might work is in paircmp.c at line 142 add:
> 	for (len=0; len<strlen(rest); len++)
> 		if (rest[len] == '\@') rest[len] = '\0';
> I believe that would work since when both a prefix and suffix are  
> present the prefix is removed and the suffix remains.  All my  
> suffixes have a @.

The above method works for striped-user-name but authentication still  
has DUB+<user_id>.  There is a most interesting worked example in the  
wiki that I adapted:

DEFAULT User-Name =~ "DUB+([^@]+)@*"
         User-Name := "%{1}",
         Hint = "SlipStream"

This almost works.  The authentication is done using  +<user_id> so  
the basic problem has a solution but the regex needs some help.  I  
don't need to retain the suffix or prefix but there are several  
different prefixes so I need to check for each separately.  I don't  
have a lot of experience with regex so it should be simple, but  
haven't found it yet.

More information about the Freeradius-Users mailing list