Re: Freeradius2 and proxing
Well,
I've writen a patch for realms.c and now, I've a better behaviour:
rlm_realm: Looking up realm "extern.realm.com" for User-Name =
"anonymous@extern.realm.com"
rlm_realm: Found realm "DEFAULT"
rlm_realm: Proxying request from user anonymous to realm DEFAULT
rlm_realm: Adding Realm = "DEFAULT"
rlm_realm: Preparing to proxy authentication request to realm "DEFAULT"
Does exist a better way to use the DEFAULT realm?
Regards,
Vincent Magnin
Vincent Magnin <Vincent.Magnin@unil.ch> a écrit :
In freeradius 1, if I need to proxy requests whose realm are remote,
I put the following in proxy.conf:
realm DEFAULT {
type = radius
authhost = remote.server1.com:1812
accthost = remote.server1.com:1813
secret = ****************
ldflag = round_robin
nostrip }
realm DEFAULT {
type = radius
authhost = remote.server2.com:1812
accthost = remote.server2.com:1813
secret = ****************
ldflag = round_robin
nostrip
}
I've tried to put the same lines in my freeradius2 config file and it
does not work as expected:
radius -X output:
rlm_realm: Looking up realm "extern.realm.com" for User-Name =
"anonymous@extern.realm.com"
rlm_realm: No such realm "extern.realm.com"
Then, the request is done locally.
If I put in my proxy.conf file this domain explicitely, it works fine:
realm extern.realm.com {
type = radius
authhost = remote.server2.com:1812
accthost = remote.server2.com:1813
secret = ****************
ldflag = round_robin
nostrip
}
radius -X output:
rlm_realm: Looking up realm "extern.realm.com" for User-Name =
"anonymous@extern.realm.com"
rlm_realm: Found realm "extern.realm.com"
rlm_realm: Proxying request from user anonymous to realm extern.realm.com
rlm_realm: Adding Realm = "extern.realm.com"
rlm_realm: Preparing to proxy accounting request to realm
"extern.realm.com"
Switzerland
--- freeradius-server-2.0.1/src/main/realms.c 2008-01-09 14:39:13.000000000 +0100
+++ freeradius-server-2.0.1-defaultrealm/src/main/realms.c 2008-02-07 14:14:26.000000000 +0100
@@ -1323,11 +1323,21 @@
REALM *realm_find(const char *name)
{
REALM myrealm;
-
+ REALM *ret;
+
if (!name) name = "NULL";
myrealm.name = name;
- return rbtree_finddata(realms_byname, &myrealm);
+ ret = rbtree_finddata(realms_byname, &myrealm);
+
+ if (!ret) {
+ const char *defrealm = "DEFAULT";
+
+ myrealm.name = defrealm;
+ ret = rbtree_finddata(realms_byname, &myrealm);
+ }
+
+ return ret;
}
This archive was generated by a fusion of
Pipermail (Mailman edition) and
MHonArc.