<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hello,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I was wandering if anyone can help me.  I am trying to
set up freeradius 2.1.x<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>In the authorized section of default, we have the following
coding:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>if("%{User-Name}" =~
/\\\\?([^@\\\\]+)@?([-[:alnum:]._]*)?$/) {<o:p></o:p></p>

<p class=MsoNormal>        update request {<o:p></o:p></p>

<p class=MsoNormal>              
Realm := "%{2}"<o:p></o:p></p>

<p class=MsoNormal>        }<o:p></o:p></p>

<p class=MsoNormal>       
if(!"%{2}" || ("%{2}" == "worc.ac.uk") ||
("%{2}" == "worcester.ac.uk") ){<o:p></o:p></p>

<p class=MsoNormal>               
update request {<o:p></o:p></p>

<p class=MsoNormal>                       
Realm := "worc"<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>        }<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>else{<o:p></o:p></p>

<p class=MsoNormal>        update request {<o:p></o:p></p>

<p class=MsoNormal>               
Stripped-User-Name := "anonymous"<o:p></o:p></p>

<p class=MsoNormal>               
Realm := 'local'<o:p></o:p></p>

<p class=MsoNormal>        }<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>switch "%{Realm}" {<o:p></o:p></p>

<p class=MsoNormal>        case
"worc" {<o:p></o:p></p>

<p class=MsoNormal>               
update control {<o:p></o:p></p>

<p class=MsoNormal>                      
Proxy-To-Realm := "worc"<o:p></o:p></p>

<p class=MsoNormal>                }<o:p></o:p></p>

<p class=MsoNormal>               
update request {<o:p></o:p></p>

<p class=MsoNormal>                      
Realm := "worc"<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>         # Don't do
any proxy stuff here, request will be handled later.<o:p></o:p></p>

<p class=MsoNormal>        }<o:p></o:p></p>

<p class=MsoNormal>        case {<o:p></o:p></p>

<p class=MsoNormal>               
update control {<o:p></o:p></p>

<p class=MsoNormal>                  
     Proxy-To-Realm := "jrs"<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>               
update request {<o:p></o:p></p>

<p class=MsoNormal>                      
Realm := "jrs"<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>        }<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>This should check the extension to the user name, if it is
worc or Worcester it will use the realm “worc”, if it is anonymous,
use the “local” realm. Otherwise use the “jrs” realm. Which
works fine. There is a problem, as our users are split into 2 separate section,
staff & students. <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Above works fine for staff, as the realm “worc”
handles this authentication. But we do need to filter the students & place
these in another realm, “student”.  <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>The staff login id is:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><a href="mailto:Psna1@worc.ac.uk">Psna1@worc.ac.uk</a><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Whereas the student login is in the format:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><a href="mailto:Psdn1_03@worc.ac.uk">Psdn1_03@worc.ac.uk</a><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Would it be possible to filter on the format of the userid?
The student id has `_02 on it.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Regards,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Nick.<o:p></o:p></p>

</div>

</body>

</html>