Fix: session mismatch on group
authorfendo <fendo@bi12info.com>
Thu, 23 May 2013 00:24:33 +0000 (02:24 +0200)
committerfendo <fendo@bi12info.com>
Thu, 23 May 2013 00:24:33 +0000 (02:24 +0200)
grpsess.c

index 7f897b3..e710709 100644 (file)
--- a/grpsess.c
+++ b/grpsess.c
@@ -551,7 +551,13 @@ sessionidt grp_getnextsession(groupidt g, in_addr_t ip)
 
        if ((s = sessionbyip(ip)))
        {
 
        if ((s = sessionbyip(ip)))
        {
-               if (s == grpsession[g].smax)
+               if (g != grp_groupbysession(s))
+               {
+                       // This session does not belong to this group
+                       LOG(2, s, session[s].tunnel, "Warning, the session does not belong to group %d\n", g);
+                       s = 0;
+               }
+               else if (s == grpsession[g].smax)
                {
                        s = grpsession[g].smin;
                        grpsession[g].smax = 0;
                {
                        s = grpsession[g].smin;
                        grpsession[g].smax = 0;