Changeset 851:0121c0646f75

Show
Ignore:
Timestamp:
07/29/08 18:07:22 (5 months ago)
Author:
Phil <phil@secdev.org>
Message:

Removed deprecated APIs

Changes introduced at f4590b70c916, 7d54b4bab41d and 2ca14f7e5bdb

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • scapy/fields.py

    r846 r851  
    325325        Field.__init__(self, name, default, "d") 
    326326 
    327 import traceback 
    328 def FIELD_LENGTH_MANAGEMENT_DEPRECATION(x): 
    329     try: 
    330         for tb in traceback.extract_stack()+[("??",-1,None,"")]: 
    331             f,l,_,line = tb 
    332             if line.startswith("fields_desc"): 
    333                 break 
    334     except: 
    335         f,l="??",-1 
    336     log_loading.warning("Deprecated use of %s (%s l. %i). See http://trac.secdev.org/scapy/wiki/LengthFields" % (x,f,l)) 
    337327 
    338328class StrField(Field): 
    339     def __init__(self, name, default, fmt="H", remain=0, shift=0): 
     329    def __init__(self, name, default, fmt="H", remain=0): 
    340330        Field.__init__(self,name,default,fmt) 
    341331        self.remain = remain         
    342         self.shift = shift 
    343         if shift != 0: 
    344             FIELD_LENGTH_MANAGEMENT_DEPRECATION(self.__class__.__name__) 
    345332    def i2len(self, pkt, i): 
    346         return len(i)+self.shift 
     333        return len(i) 
    347334    def i2m(self, pkt, x): 
    348335        if x is None: 
     
    361348class PacketField(StrField): 
    362349    holds_packets=1 
    363     def __init__(self, name, default, cls, remain=0, shift=0): 
    364         StrField.__init__(self, name, default, remain=remain, shift=shift
     350    def __init__(self, name, default, cls, remain=0): 
     351        StrField.__init__(self, name, default, remain=remain
    365352        self.cls = cls 
    366353    def i2m(self, pkt, i): 
     
    379366class PacketLenField(PacketField): 
    380367    holds_packets=1 
    381     def __init__(self, name, default, cls, fld=None, length_from=None, shift=0): 
    382         PacketField.__init__(self, name, default, cls, shift=shift
     368    def __init__(self, name, default, cls, length_from=None): 
     369        PacketField.__init__(self, name, default, cls
    383370        self.length_from = length_from 
    384         if fld is not None or shift != 0: 
    385             FIELD_LENGTH_MANAGEMENT_DEPRECATION(self.__class__.__name__) 
    386             self.count_from = lambda pkt,fld=fld,shift=shift: getattr(pkt,fld)-shift 
    387371    def getfield(self, pkt, s): 
    388372        l = self.length_from(pkt) 
     
    394378    islist = 1 
    395379    holds_packets=1 
    396     def __init__(self, name, default, cls, fld=None, count_from=None, length_from=None, shift=0): 
     380    def __init__(self, name, default, cls, count_from=None, length_from=None): 
    397381        if default is None: 
    398382            default = []  # Create a new list for each instance 
    399         PacketField.__init__(self, name, default, cls, shift=shift
     383        PacketField.__init__(self, name, default, cls
    400384        self.count_from = count_from 
    401385        self.length_from = length_from 
    402386 
    403         if fld is not None or shift != 0: 
    404             FIELD_LENGTH_MANAGEMENT_DEPRECATION(self.__class__.__name__) 
    405         if fld is not None: 
    406             self.count_from = lambda pkt,fld=fld,shift=shift: getattr(pkt,fld)-shift 
    407387 
    408388    def any2i(self, pkt, x): 
     
    450430 
    451431class StrFixedLenField(StrField): 
    452     def __init__(self, name, default, length=None, length_from=None, shift=0): 
    453         StrField.__init__(self, name, default, shift=shift
     432    def __init__(self, name, default, length=None, length_from=None): 
     433        StrField.__init__(self, name, default
    454434        self.length_from  = length_from 
    455435        if length is not None: 
     
    469449 
    470450class NetBIOSNameField(StrFixedLenField): 
    471     def __init__(self, name, default, length=31, shift=0): 
    472         StrFixedLenField.__init__(self, name, default, length, shift=shift
     451    def __init__(self, name, default, length=31): 
     452        StrFixedLenField.__init__(self, name, default, length
    473453    def i2m(self, pkt, x): 
    474454        l = self.length_from(pkt)/2 
     
    485465 
    486466class StrLenField(StrField): 
    487     def __init__(self, name, default, fld=None, length_from=None, shift=0): 
    488         StrField.__init__(self, name, default, shift=shift
     467    def __init__(self, name, default, fld=None, length_from=None): 
     468        StrField.__init__(self, name, default
    489469        self.length_from = length_from 
    490         if fld is not None or shift != 0: 
    491             FIELD_LENGTH_MANAGEMENT_DEPRECATION(self.__class__.__name__) 
    492             self.length_from = lambda pkt,fld=fld,shift=shift: getattr(pkt,fld)-shift 
    493470    def getfield(self, pkt, s): 
    494471        l = self.length_from(pkt) 
     
    497474class FieldListField(Field): 
    498475    islist=1 
    499     def __init__(self, name, default, field, fld=None, shift=0, length_from=None, count_from=None): 
     476    def __init__(self, name, default, field, length_from=None, count_from=None): 
    500477        if default is None: 
    501478            default = []  # Create a new list for each instance 
     
    503480        self.count_from = count_from 
    504481        self.length_from = length_from 
    505         self.field = field 
    506         if fld is not None or shift != 0: 
    507             FIELD_LENGTH_MANAGEMENT_DEPRECATION(self.__class__.__name__) 
    508             self.count_from = lambda pkt,fld=fld,shift=shift: getattr(pkt,fld)-shift 
    509              
     482        self.field = field             
    510483             
    511484    def i2count(self, pkt, val): 
  • scapy/packet.py

    r846 r851  
    286286            pkt = t(pkt) 
    287287        pay = self.build_payload() 
    288         try: 
    289             p = self.post_build(pkt,pay) 
    290         except TypeError: 
    291             log_runtime.error("API changed! post_build() now takes 2 arguments. Compatibility is only assured for a short transition time") 
    292             p = self.post_build(pkt+pay) 
     288        p = self.post_build(pkt,pay) 
    293289        if not internal: 
    294290            pad = self.payload.getlayer(Padding)