Changeset 54 for trunk/src

Show
Ignore:
Timestamp:
09/10/07 15:27:27 (16 years ago)
Author:
andreu
Message:

add the comparaison with fields 7 and 11 (ports)

Location:
trunk/src
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/dataFlowSet.c

    r52 r54  
    269269              if (pftmp->fieldType==7){ 
    270270                ipFirstCache.sPort = *((unsigned short*)&buffer2); 
     271                if ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue)  
     272                     == (*((unsigned short*)&buffer2)) 
     273                     ) 
     274                  { 
     275                    ((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->check = 1; 
     276                  } 
    271277              } 
    272278              if (pftmp->fieldType==11){ 
    273279                ipFirstCache.dPort = *((unsigned short*)&buffer2); 
     280                if ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue)  
     281                     == (*((unsigned short*)&buffer2)) 
     282                     ) 
     283                  { 
     284                    ((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->check = 1; 
     285                  } 
    274286              } 
    275287#endif 
     
    307319                  } 
    308320              } 
    309 #ifdef IPV4AGG 
    310               if ((pftmp->fieldType==8)){ 
    311                 bool = 1; /* very important, test if we have an IPv4 flow for Agg */ 
    312                 agCache.v4AdS = *((unsigned long*)&buffer4); 
    313               } 
    314               if ((pftmp->fieldType==12)){ 
    315                 agCache.v4AdD = *((unsigned long*)&buffer4); 
    316               } 
    317321              if (pftmp->fieldType==1){ 
    318322                agCache.bytes = *((unsigned long*)&buffer4); 
    319323                if ( 
    320                     ((unsigned long)((((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue) + ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue)*10/100)) 
     324                    ((unsigned long)((((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.lvalue) + ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.lvalue)*10/100)) 
    321325                     >= (*((unsigned long*)&buffer4))) 
    322326                    && 
    323                     ( (unsigned long)((((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue) - ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.svalue)*10/100)) 
     327                    ( (unsigned long)((((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.lvalue) - ( (((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->value->stor.lvalue)*10/100)) 
    324328                      <= (*((unsigned long*)&buffer4)) ) 
    325329                    ) 
     
    327331                    ((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->check = 1; 
    328332                  } 
     333              } 
     334#ifdef IPV4AGG 
     335              if ((pftmp->fieldType==8)){ 
     336                bool = 1; /* very important, test if we have an IPv4 flow for Agg */ 
     337                agCache.v4AdS = *((unsigned long*)&buffer4); 
     338              } 
     339              if ((pftmp->fieldType==12)){ 
     340                agCache.v4AdD = *((unsigned long*)&buffer4); 
     341              } 
     342              if (pftmp->fieldType==1){ 
     343                agCache.bytes = *((unsigned long*)&buffer4); 
    329344              } 
    330345              if (pftmp->fieldType==2){ 
  • trunk/src/rules_mgmt.c

    r53 r54  
    467467      tmp->fieldType = ft; 
    468468      tmp->value = NULL; 
    469       if ((ft==25)){ 
     469      if ((ft==25) || (ft==7) || (ft==11) ){ 
    470470          tmp->value = addValue(tmp->value, operatorToNumber, value); 
    471471      } else if ((ft==1)){ 
     
    651651    }    
    652652    tmp->valueLength = 4; 
    653     tmp->stor.lvalue = (unsigned short) atoi(value); 
     653    tmp->stor.lvalue = (unsigned long) atol(value); 
    654654    tmp->next = vPtr; 
    655655  }