<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="http://www.w3.org/TR/REC-html40"
xmlns:ns6="http://schemas.microsoft.com/office/2004/12/omml">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--a:link
        {mso-style-priority:99;}
span.MSOHYPERLINK
        {mso-style-priority:99;}
a:visited
        {mso-style-priority:99;}
span.MSOHYPERLINKFOLLOWED
        {mso-style-priority:99;}

 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@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:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:Calibri;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Calibri;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        color:black;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'>I’m CERTAINLY no expert in this, but I can
hopefully point you in the right direction.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'>There is some doc within the FR install
(and the Wiki I think) about writing your own “modules” – I think this is what
you want.  Although, I think you can do pretty much anything with rlm_perl and
unlang, but nonetheless – yes, you can write your own auth module.  I don’t
thik it would be a separate “listener”, but just another module FR uses to auth
RADIUS requests.  Ie:  instead of FR using RLM_LDAP, EAP, unix, ntlm_auth, etc.
– it would use “Travis_Auth”.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'>Not sure if that helps.  If you can’t find
doc on “modules” LMK and I’ll see if I can track it down for you.  From what I
remember it’s not rocket science, but not trivial either.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'>G<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Calibri><span
style='font-size:11.0pt;color:black'><o:p> </o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> freeradius-users-bounces+ggatten=waddell.com@lists.freeradius.org
[mailto:freeradius-users-bounces+ggatten=waddell.com@lists.freeradius.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Travis Dimmig<br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, February 23, 2011
2:56 PM<br>
<b><span style='font-weight:bold'>To:</span></b> FreeRadius users mailing list<br>
<b><span style='font-weight:bold'>Subject:</span></b> non-standard
authentication</span></font><font size=3 face="Times New Roman"><span
style='font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>I
have a problem scenario where I need to be able to handle the authentication of
users myself.  I am looking into using either rlm_perl or (preferably)
rlm_jradius to be able to write my own piece to do authentication.  I
believe this is possible with either module (please correct me if I’m wrong on
that, it would stop me in my tracks).  What I need to know is if when
writing my own authenticator there is a terribly complicated process of
requests and responses that I have to honor in order to make the supplicant
happy, or if I can trivially accept or reject based on the parameters of my
business problem.  As a test case, I wrote a Java class for rlm_jradius
that just replaced reject packets with accept packets, to see if it would
work.  I found that if I hooked into it at the ‘post_auth’ stage it didn’t
matter what my reply was, freeRadius remembered that auth had failed and
stripped all the attributes from the response packet.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>That
was long winded, here is a summary of my questions.  Can I write my own
piece to do authentication?  Where in the freeRadius process do I list
that listener?  Is there a series of requests and responses that I have to
honor?</span></font><font size=2><span style='font-size:10.0pt'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>-Travis<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p> </o:p></span></font></p>

</div>





<font size="1">
<div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'>
</div>
"This email is intended to be reviewed by only the intended recipient
 and may contain information that is privileged and/or confidential.
 If you are not the intended recipient, you are hereby notified that
 any review, use, dissemination, disclosure or copying of this email
 and its attachments, if any, is strictly prohibited.  If you have
 received this email in error, please immediately notify the sender by
 return email and delete this email from your system."
</font>
</body>

</html>