cleanup clash between timeout and session_timout
[l2tpns.git] / radius.c
index d35a3f9..c167cbe 100644 (file)
--- a/radius.c
+++ b/radius.c
@@ -1,6 +1,6 @@
 // L2TPNS Radius Stuff
 
-char const *cvs_id_radius = "$Id: radius.c,v 1.53 2006-08-02 12:54:45 bodea Exp $";
+char const *cvs_id_radius = "$Id: radius.c,v 1.54 2006-08-02 13:35:39 bodea Exp $";
 
 #include <time.h>
 #include <stdio.h>
@@ -655,19 +655,6 @@ void processrad(uint8_t *buf, int len, char socket_index)
                                                LOG(3, s, session[s].tunnel, "   Radius reply contains primary DNS address %s\n",
                                                        fmtaddr(htonl(session[s].dns1), 0));
                                        }
-                                       else if (*p == 27)
-                                       {
-                                               // Session timeout
-                                               if (p[1] < 6) {
-                                                       LOG(2, s, session[s].tunnel, "Error: Received Session timeout with length %d < 6\n", p[1]);
-                                                       continue;
-                                               }
-
-                                               session[s].timeout = ntohl(*(uint32_t *) (p + 2));
-                                               LOG(3, s, session[s].tunnel, "   Radius reply contains Session timeout %d\n", session[s].timeout);
-                                               if (!session[s].timeout)
-                                                       sessionshutdown(s, "Session timeout is zero", CDN_ADMIN_DISC, TERM_SESSION_TIMEOUT);
-                                       }
                                        else if (*p == 136)
                                        {
                                                // DNS address
@@ -764,24 +751,16 @@ void processrad(uint8_t *buf, int len, char socket_index)
                                        else if (*p == 27)
                                        {
                                                // Session-Timeout
-                                               uint32_t to = ntohl(*(uint32_t *)(p + 2));
-
-                                               LOG(3, s, session[s].tunnel, "   Radius reply contains Session-Timeout = %u\n", to);
-                                               if (to > 0)
-                                               {
-                                                       session[s].session_timeout = to;
-                                               }
+                                               if (p[1] < 6) continue;
+                                               session[s].session_timeout = ntohl(*(uint32_t *)(p + 2));
+                                               LOG(3, s, session[s].tunnel, "   Radius reply contains Session-Timeout = %u\n", session[s].session_timeout);
                                        }
                                        else if (*p == 28)
                                        {
                                                // Idle-Timeout
-                                               uint32_t to = ntohl(*(uint32_t *)(p + 2));
-
-                                               LOG(3, s, session[s].tunnel, "   Radius reply contains Idle-Timeout = %u\n", to);
-                                               if (to > 0)
-                                               {
-                                                       session[s].idle_timeout = to;
-                                               }
+                                               if (p[1] < 6) continue;
+                                               session[s].idle_timeout = ntohl(*(uint32_t *)(p + 2));
+                                               LOG(3, s, session[s].tunnel, "   Radius reply contains Idle-Timeout = %u\n", session[s].idle_timeout);
                                        }
                                        else if (*p == 26 && p[1] >= 7)
                                        {