Changeset 5542

Show
Ignore:
Timestamp:
02/18/10 12:40:17 (5 months ago)
Author:
nopper
Message:

Supporting UDP injection in IP decoder

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pm/trunk/audits/passive/ip/sources/main.py

    r5516 r5542  
    5353from umit.pm.manager.auditmanager import AuditManager, PassiveAudit 
    5454from umit.pm.manager.sessionmanager import * 
    55 from umit.pm.core.netconst import PROTO_LAYER, NET_LAYER, LL_TYPE_IP, INJ_FORWARD 
     55from umit.pm.core.netconst import PROTO_LAYER, NET_LAYER, LL_TYPE_IP 
    5656from umit.pm.core.auditutils import checksum 
    5757 
     
    253253 
    254254    return ip 
     255 
     256def stateless_ip_injector(context, mpkt, length): 
     257    ident = IPIdent.create(mpkt) 
     258    sess = SessionManager().get_session(ident) 
     259 
     260    if not sess: 
     261        return False, length 
     262 
     263    mpkt.session = sess 
     264 
     265    injector = AuditManager().get_injector(0, LL_TYPE_IP) 
     266    return injector(context, mpkt, length) 
    255267 
    256268def ip_injector(context, mpkt, length): 
     
    305317        manager.add_decoder(NET_LAYER, LL_TYPE_IP, self.ip_decoder) 
    306318        manager.add_injector(0, LL_TYPE_IP, ip_injector) 
     319        manager.add_injector(0, STATELESS_IP_MAGIC, stateless_ip_injector) 
    307320 
    308321    def stop(self): 
     
    310323        manager.remove_decoder(NET_LAYER, LL_TYPE_IP, self.ip_decoder) 
    311324        manager.remove_injector(0, LL_TYPE_IP, ip_injector) 
     325        manager.remove_injector(0, STATELESS_IP_MAGIC, stateless_ip_injector) 
    312326 
    313327        self.decoder = None