Received: from [122.164.45.61] by web7807.mail.in.yahoo.com via HTTP;
	Thu, 28 Jun 2007 06:03:01 BST
Date: Thu, 28 Jun 2007 06:03:01 +0100 (BST)
From: suganthi velusamy <v.suganthi@yahoo.co.in>
Subject: duplicate requests...
To: free radius <freeradius-devel@lists.freeradius.org>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="0-1420644134-1183006981=:64408"
Content-Transfer-Encoding: 8bit
Content-Length: 1940

--0-1420644134-1183006981=:64408
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

 Hi all....

        In the file radiusd.c, i am not able to understand the following... what is "fake request" and what is duplicate requests??????? when a request is considered as duplicate??? 


                /*
          *      "fake" requests MUST NEVER be in the request list.
          *
          *      They're used internally in the server.  Any reply
          *      is a reply to the local server, and any proxied packet
          *      gets sent outside of the tunnel.
          */
         rad_assert((curreq->options & RAD_REQUEST_OPTION_FAKE_REQUEST) == 0);
 
 
         /*
          *      The current request isn't finished, which
          *      means that the NAS sent us a new packet, while
          *      we are still processing the old request.
          */
         if (!curreq->finished) {
                 /*
                  *      If the authentication vectors are identical,
                  *      then the NAS is re-transmitting it, trying to
                  *      kick us into responding to the request.
                  */
                 if (memcmp(curreq->packet->vector, packet->vector,
                            sizeof(packet->vector)) == 0) {
                         RAD_SNMP_INC(rad_snmp.auth.total_dup_requests);
 
 
                         /* /*
                          *      It's not finished because the request
                          *      was proxied, but there was no reply
                          *      from the home server.
                          */
                         if (curreq->proxy && !curreq->proxy_reply) {
                                 /*
                                  *      We're taking care of sending
                                  *      duplicate proxied packets, so
                                  *      we ignore any duplicate
                                  *      requests from the NAS.
                                  *
                                  *      FIXME: Make it ALWAYS synchronous!
                                  */
                                 if (!mainconfig.proxy_synchronous) {
                                         RAD_SNMP_TYPE_INC(listener, total_packets_dropped);
                                         DEBUG2("Ignoring duplicate packet from client "
                                                "%s:%d - ID: %d, due to outstanding proxied request %d.",
                                                client_name(packet->src_ipaddr),
                                                packet->src_port, packet->id,
                                                curreq->number);
 

Thanks....

       
---------------------------------
 Once upon a time there was 1 GB storage on Yahoo! Mail. Click here for happy ending!
--0-1420644134-1183006981=:64408
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

&nbsp;Hi all....<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In the file radiusd.c, i am not able to understand the following... what is "fake request" and what is duplicate requests??????? when a request is considered as duplicate??? <br><br><br><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><title></title><meta name="GENERATOR" content="OpenOffice.org 2.0  (Linux)"><meta name="CREATED" content="20070628;2332100"><meta name="CHANGED" content="20070628;2340200">          <style type="text/css">  <!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  -->  </style>  <div style="margin-bottom: 0in;">/*</div> <div style="margin-bottom: 0in;">         *      <span style="font-weight: bold;">"fake" requests MUST NEVER be in the request list.</span></div> <div style="margin-bottom: 0in;">         *</div> <div style="margin-bottom: 0in;">         *      They're used internally in the server.  Any reply</div> <div
 style="margin-bottom: 0in;">         *      is a reply to the local server, and any proxied packet</div> <div style="margin-bottom: 0in;">         *      gets sent outside of the tunnel.</div> <div style="margin-bottom: 0in;">         */</div> <div style="margin-bottom: 0in;">        rad_assert((curreq-&gt;options &amp; RAD_REQUEST_OPTION_FAKE_REQUEST) == 0);</div> <div style="margin-bottom: 0in;"><br> </div> <div style="margin-bottom: 0in;">        /*</div> <div style="margin-bottom: 0in;">         *      The current request isn't finished, which</div> <div style="margin-bottom: 0in;">         *      means that the NAS sent us a new packet, while</div> <div style="margin-bottom: 0in;">         *      we are still processing the old request.</div> <div style="margin-bottom: 0in;">         */</div> <div style="margin-bottom: 0in;">        if (!curreq-&gt;finished) {</div> <div style="margin-bottom: 0in;">                /*</div> <div style="margin-bottom: 0in;">            
     *      If the authentication vectors are identical,</div> <div style="margin-bottom: 0in;">                 *      then the NAS is re-transmitting it, trying to</div> <div style="margin-bottom: 0in;">                 *      kick us into responding to the request.</div> <div style="margin-bottom: 0in;">                 */</div> <div style="margin-bottom: 0in;">                if (memcmp(curreq-&gt;packet-&gt;vector, packet-&gt;vector,</div> <div style="margin-bottom: 0in;">                           sizeof(packet-&gt;vector)) == 0) {</div> <div style="margin-bottom: 0in;">                        RAD_SNMP_INC(rad_snmp.auth.total_dup_requests);</div> <div style="margin-bottom: 0in;"><br> </div> <div style="margin-bottom: 0in;">                        /* /*</div> <div style="margin-bottom: 0in;">                         *      It's not finished because the request</div> <div style="margin-bottom: 0in;">                         *      was proxied, but there was no
 reply</div> <div style="margin-bottom: 0in;">                         *      from the home server.</div> <div style="margin-bottom: 0in;">                         */</div> <div style="margin-bottom: 0in;">                        if (curreq-&gt;proxy &amp;&amp; !curreq-&gt;proxy_reply) {</div> <div style="margin-bottom: 0in;">                                /*</div> <div style="margin-bottom: 0in;">                                 *      <span style="font-weight: bold;">We're taking care of sending</span></div> <div style="margin-bottom: 0in; font-weight: bold;">                                 *      duplicate proxied packets, so</div> <div style="margin-bottom: 0in; font-weight: bold;">                                 *      we ignore any duplicate</div> <div style="margin-bottom: 0in; font-weight: bold;">                                 *      requests from the NAS.</div> <div style="margin-bottom: 0in;">                                 *</div> <div style="margin-bottom:
 0in;">                                 *      FIXME: Make it ALWAYS synchronous!</div> <div style="margin-bottom: 0in;">                                 */</div> <div style="margin-bottom: 0in;">                                if (!mainconfig.proxy_synchronous) {</div> <div style="margin-bottom: 0in;">                                        RAD_SNMP_TYPE_INC(listener, total_packets_dropped);</div> <div style="margin-bottom: 0in;">                                        DEBUG2("Ignoring duplicate packet from client "</div> <div style="margin-bottom: 0in;">                                               "%s:%d - ID: %d, due to outstanding proxied request %d.",</div> <div style="margin-bottom: 0in;">                                               client_name(packet-&gt;src_ipaddr),</div> <div style="margin-bottom: 0in;">                                               packet-&gt;src_port, packet-&gt;id,</div> <div style="margin-bottom: 0in;">                                      
         curreq-&gt;number);</div> <br><br>Thanks....<br><p>&#32;


      <!--2--><hr size=1></hr> Once upon a time there was 1 GB storage on Yahoo! Mail. <a href="http://in.rd.yahoo.com/tagline_mail_2/*http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html/">Click here for happy ending!</a>
--0-1420644134-1183006981=:64408--
