How to handle non digest messeg if Auth-Type is set to Digest?
Phil Mayers
p.mayers at imperial.ac.uk
Fri Jul 28 10:45:21 CEST 2006
GlobeInPhotos wrote:
>
> I've commented line in users file
>
> #DEFAULT Auth-Type := Digest
Finally.
That line? That *was* you setting Auth-Type to Digest.
>
> But now I've got following message if non-digest message arrive:
>
> rad_recv: Access-Request packet from host 153.19.130.250:46963, id=190,
> length=80
> User-Name = "3_test001_+48580001 at server1.test.pl"
> Service-Type = SIP-Callee-AVPs
> NAS-Port = 0
> NAS-IP-Address = 153.19.130.250
>
> [cut]
>
> auth: type Local
> auth: No User-Password or CHAP-Password attribute in the request
Ok, so for these non-digest requests, you'll have to configure the
server to authenticate them without a password being present. This is
one of those rare cases where you *do* set auth-type.
So, something like in radiusd.conf:
authorize {
preprocess
# digest will set Auth-Type=Digest IF AND ONLY IF this
# request is a real digest one
digest
files
# maybe other modules
}
...and in "users":
# Since the Auth-Type = Accept is a conditional set, this
# entry will NOT MATCH if the "digest" module has already
# set Auth-Type=Digest
#
# Therefore, it should only match your "special" requests
DEFAULT Service-Type==SIP-Callee-AVPs, Auth-Type = Accept
VoIP-Attribute-1 = value1,
Other-Attribute = otherval
That is: If a request comes in with Service-Type == SIP-Callee-AVPs,
then set Auth-Type to accept IF AND ONLY IF it isn't already set (= is
conditional set; := which you were using earlier is unconditional set -
see "man users"). Then set some attributes on the reply.
You didn't show one of your other (the "real" digest) requests so I
can't be sure what they look like, but something like the above should work.
More information about the Freeradius-Users
mailing list