diff -urN radiusd-cistron-1.6-dist/doc/README.proxy radiusd-cistron-1.6/doc/README.proxy --- radiusd-cistron-1.6-dist/doc/README.proxy 2002-02-16 20:39:15.000000000 -0600 +++ radiusd-cistron-1.6/doc/README.proxy 2003-06-02 11:14:57.000000000 -0500 @@ -55,6 +55,11 @@ Trust all attributes that the remote server returns. Normally only a few records are trusted and the rest (such as Framed-IP-Address and Framed-Routing) are stripped. + - nocase + By default the realm name comparison is case sensitve. By specifying + the "nocase" option the realm will be compared case insensitive. + This does NOT work with the "wildcard" option ("wildcard" takes + precedence). 2. WHAT HAPPENS diff -urN radiusd-cistron-1.6-dist/src/files.c radiusd-cistron-1.6/src/files.c --- radiusd-cistron-1.6-dist/src/files.c 2003-03-11 22:18:59.000000000 -0600 +++ radiusd-cistron-1.6/src/files.c 2003-06-02 11:11:16.000000000 -0500 @@ -1617,6 +1617,8 @@ c->opts.noauth = 1; if (strcmp(p, "trusted") == 0) c->opts.trusted = 1; + if (strcmp(p, "nocase") == 0) + c->opts.nocase = 1; p = strtok(NULL, ", \t"); } @@ -1643,6 +1645,9 @@ if (cl->opts.wildcard && n != NULL) { if (wildmat(cl->realm, n)) break; + } else if (cl->opts.nocase) { + if (strcasecmp(cl->realm, r) == 0) + break; } else { if (strcmp(cl->realm, r) == 0) break; diff -urN radiusd-cistron-1.6-dist/src/radiusd.h radiusd-cistron-1.6/src/radiusd.h --- radiusd-cistron-1.6-dist/src/radiusd.h 2003-06-02 11:08:03.000000000 -0500 +++ radiusd-cistron-1.6/src/radiusd.h 2003-06-02 11:11:40.000000000 -0500 @@ -114,6 +114,7 @@ unsigned int noacct:1; unsigned int trusted:1; unsigned int wildcard:1; + unsigned int nocase:1; } REALM_OPTS; typedef struct realm {