Dear Alan,<div><br></div><div>Thanks for the response.</div><div><br></div><div>If you could please answer the following 3 questions, it would be of great help:</div><div>I am not able to understand these concepts.</div><div>
        
        
        


<p style="margin-bottom: 0in;">
<font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">1. What
is the role of configuration item linked list?</font></font></font></p><p style="margin-bottom: 0in;">
        
        
        


</p><p style="margin-bottom: 0in;">
<font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">2. How
is the linked list and Red-Black trees associated with each other.</font></font></font></p><p style="margin-bottom: 0in;"><font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">3. </font></font></font><span style="font-size: 10pt; font-family: sans-serif;">How
the structures conf_item and conf_part are related to each other</span></p>
        
        
        



<p style="margin-bottom: 0in;">
<font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">struct
conf_item {</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">struct
conf_item *next;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">struct
conf_part *parent;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">int
lineno;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">const
char *filename;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">CONF_ITEM_TYPE
type;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
  <font face="sans-serif"><font style="font-size: 10pt">};</font></font></font></p>
<p style="margin-bottom: 0in;">
<br>
</p>
<p style="margin-bottom: 0in;">
<font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">struct
conf_part {</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">CONF_ITEM
item;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">const
char *name1;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">const
char *name2;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">struct
conf_item *children;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">struct
conf_item *tail; /* for speed */</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">CONF_SECTION
   *template;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">rbtree_t
       *pair_tree; /* and a partridge.. */</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">rbtree_t
       *section_tree; /* no jokes here */</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">rbtree_t
       *name2_tree; /* for sections of the same
name2 */</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">rbtree_t
       *data_tree;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">void
           *base;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">int
depth;</font></font></font></p>
<p style="margin-bottom: 0in;"><font color="#000000"> 
      <font face="sans-serif"><font style="font-size: 10pt">const
CONF_PARSER *variables;</font></font></font></p>
<p style="margin-bottom: 0in;">
<font color="#000000"><font face="sans-serif"><font style="font-size: 10pt">};</font></font></font></p>
<p style="margin-bottom: 0in">Thanks in advance.</p><p style="margin-bottom: 0in">Regards,</p><p style="margin-bottom: 0in">Sonu</p></div><div><br><br>From: Alan DeKok <aland@deployingradius.com><br>Sent: Thu, 18 Sep 2014 19:07:48 <br>To: FreeRadius users mailing list <freeradius-users@lists.freeradius.org><br>Subject: Re: Freeradius Queries<br>Himanshu Pandey wrote:<br>
> I am very new to freeradius and right now I am going through the code of<br>
>  freeradius. I am facing problem to understand a couple of concepts.<br>
> They are:<br>
> <br>
> 1. What is the overall architecture of Freeradius?<br>
<br>
  Complicated.  We don't really have an architecture diagram.<br>
<br>
  For detailed API docs, see http://doc.freeradius.org/<br>
<br>
  As for the rest of your questions, they are both too vague and too<br>
specific.  The main reason to ask questions is to solve a particular<br>
problem.  You're asking a series of vague questions "how does it work",<br>
along with detailed questions "why is it done this way".<br>
<br>
  They're all nice questions, but they can usually be answered by<br>
reading the source.  The code is VERY well commented.  I see no reason<br>
to cut & paste those comments here.<br>
<br>
  Alan DeKok.<br>
-<br>
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html<br>
</div><br><A HREF="http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?" target="_blank"><IMG SRC="http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle"></A><table cellpadding="0" cellspacing="0"><tbody><tr><td><div style="font-family: Arial, Helvetica, sans-serif; font-size:14px">Get your own <span style="padding-bottom: 0px; background-color: #cc0000; padding-left: 3px; padding-RIGHT: 3px; font-family: Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; padding-top: 0px"><b>FREE</b></span> website,  <span style="padding-bottom: 0px; background-color: #c00; padding-left: 3px; padding-RIGHT: 3px; font-family: Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; padding-top: 0px"><b>FREE</b></span> domain & <span style="padding-bottom: 0px; background-color: #c00; padding-left: 3px; padding-RIGHT: 3px; font-family: Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; padding-top: 0px"><b>FREE</b></span> mobile app with Company email.  </div></td><td><a href="http://track.rediff.com/click?url=___http://businessemail.rediff.com/email-ids-for-companies-with-less-than-50-employees?sc_cid=sign-1-10-13___&cmp=host&lnk=sign-1-10-13&nsrv1=host" style="font-family: Arial, Helvetica, sans-serif; color: #fff; font-size: 14px; color:#0000cc" target="_blank"><b>Know More ></b></a><!-- <in-put type="button" cl-ass="button" on-click="parent.location='http://track.rediff.com/click?url=___http://businessemail.rediff.com/company-email-hosting-services?sc_cid=signature-23-9-13___&cmp=signature-23-9-13&lnk=mypagelogout&nsrv1=host'" value="Know more >"> </input> --></td></tr></tbody></table>