[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freeradius-devel
Subject:    =?utf-8?B?RnJlZXJhZGl1cyBRdWVyaWVzIA==?=
From:       "Himanshu  Pandey" <pandey_himanshu80 () rediffmail ! com>
Date:       2014-09-18 4:35:07
Message-ID: 20140918043507.4989.qmail () f4mail-235-195 ! rediffmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi Friends,
I am very new to freeradius and right now I am going through the code of \
&nbsp;freeradius. I am facing problem to understand a couple of concepts. They are: \
1. What is the overall architecture of Freeradius?2. Do we have separate Pair,Data \
and Section trees? If yes then how are they related with each other.3. What is the \
role of configuration item linked list?4. How is the linked list and Red-Black trees \
associated with each other.5. Which nodes shall be marked as Red and which nodes \
shall be marked as Black. What is the relationship between them?6. How the structures \
conf_item and conf_part are related to each otherstruct conf_item {&nbsp; &nbsp; \
&nbsp; &nbsp; struct conf_item *next;&nbsp; &nbsp; &nbsp; &nbsp; struct conf_part \
*parent;&nbsp; &nbsp; &nbsp; &nbsp; int lineno;&nbsp; &nbsp; &nbsp; &nbsp; const char \
*filename;&nbsp; &nbsp; &nbsp; &nbsp; CONF_ITEM_TYPE type;&nbsp; &nbsp; }; struct \
conf_part {&nbsp; &nbsp; &nbsp; &nbsp; CONF_ITEM item;&nbsp; &nbsp; &nbsp; &nbsp; \
const char *name1;&nbsp; &nbsp; &nbsp; &nbsp; const char *name2;&nbsp; &nbsp; &nbsp; \
&nbsp; struct conf_item *children;&nbsp; &nbsp; &nbsp; &nbsp; struct conf_item *tail; \
/* for speed */&nbsp; &nbsp; &nbsp; &nbsp; CONF_SECTION &nbsp; &nbsp;*template;&nbsp; \
&nbsp; &nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; &nbsp;*pair_tree; /* and a \
partridge.. */&nbsp; &nbsp; &nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; \
&nbsp;*section_tree; /* no jokes here */&nbsp; &nbsp; &nbsp; &nbsp; rbtree_t &nbsp; \
&nbsp; &nbsp; &nbsp;*name2_tree; /* for sections of the same name2 */&nbsp; &nbsp; \
&nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; &nbsp;*data_tree;&nbsp; &nbsp; &nbsp; \
&nbsp; void &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*base;&nbsp; &nbsp; &nbsp; \
&nbsp; int depth;&nbsp; &nbsp; &nbsp; &nbsp; const CONF_PARSER *variables;}; 7. In \
function cf_item_add(CONF_SECTION *cs, CONF_ITEM *ci)What this piece of code does?for \
(/* nothing */; ci != NULL; ci = ci-&gt;next) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; cs-&gt;tail = ci; 8. What these function call \
means?cf_itemtopair(ci);cf_itemtosection(ci);cf_itemtodata(ci); I request you to \
please help me in understanding the concepts. Regards,Sonu


[Attachment #5 (unknown)]

<div>Hi Friends,</div><div><br></div><div>I am very new to freeradius and right now I \
am going through the code of &nbsp;freeradius. I am facing problem to understand a \
couple of concepts. They are:</div><div><br></div><div>1. What is the overall \
architecture of Freeradius?</div><div>2. Do we have separate Pair,Data and Section \
trees? If yes then how are they related with each other.</div><div>3. What is the \
role of configuration item linked list?</div><div>4. How is the linked list and \
Red-Black trees associated with each other.</div><div>5. Which nodes shall be marked \
as Red and which nodes shall be marked as Black. What is the relationship between \
them?</div><div>6. How the structures conf_item and conf_part are related to each \
other</div><div>struct conf_item {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; struct \
conf_item *next;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; struct conf_part \
*parent;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; int lineno;</div><div>&nbsp; &nbsp; \
&nbsp; &nbsp; const char *filename;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; \
CONF_ITEM_TYPE type;</div><div>&nbsp; &nbsp; };</div><div><br></div><div>struct \
conf_part {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; CONF_ITEM item;</div><div>&nbsp; \
&nbsp; &nbsp; &nbsp; const char *name1;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; const \
char *name2;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; struct conf_item \
*children;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; struct conf_item *tail; /* for speed \
*/</div><div>&nbsp; &nbsp; &nbsp; &nbsp; CONF_SECTION &nbsp; \
&nbsp;*template;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; \
&nbsp;*pair_tree; /* and a partridge.. */</div><div>&nbsp; &nbsp; &nbsp; &nbsp; \
rbtree_t &nbsp; &nbsp; &nbsp; &nbsp;*section_tree; /* no jokes here \
*/</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; \
&nbsp;*name2_tree; /* for sections of the same name2 */</div><div>&nbsp; &nbsp; \
&nbsp; &nbsp; rbtree_t &nbsp; &nbsp; &nbsp; &nbsp;*data_tree;</div><div>&nbsp; &nbsp; \
&nbsp; &nbsp; void &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*base;</div><div>&nbsp; \
&nbsp; &nbsp; &nbsp; int depth;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; const \
CONF_PARSER *variables;</div><div>};</div><div><br></div><div>7. In function \
cf_item_add(CONF_SECTION *cs, CONF_ITEM *ci)</div><div>What this piece of code \
does?</div><div>for (/* nothing */; ci != NULL; ci = ci-&gt;next) {</div><div>&nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cs-&gt;tail = \
ci;</div><div><br></div><div>8. What these function call \
means?</div><div>cf_itemtopair(ci);</div><div>cf_itemtosection(ci);</div><div>cf_itemtodata(ci);</div><div><br></div><div>I \
request you to please help me in understanding the \
concepts.</div><div><br></div><div>Regards,</div><div>Sonu</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 &amp; <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. \
&nbsp;</div></td><td><a \
href="http://track.rediff.com/click?url=___http://businessemail.rediff.com/email-ids-f \
or-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=&#39;http://track.rediff.com/click?url=___ht \
tp://businessemail.rediff.com/company-email-hosting-services?sc_cid=signature-23-9-13___&amp;cmp=signature-23-9-13&amp;lnk=mypagelogout&amp;nsrv1=host&#39;" \
value="Know more &gt;"> </input> --></td></tr></tbody></table>



-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic