diff --git a/scapy/layers/ipsec.py b/scapy/layers/ipsec.py index 6138e8969..8159584c3 100644 --- a/scapy/layers/ipsec.py +++ b/scapy/layers/ipsec.py @@ -606,9 +606,6 @@ if AES and XCBCMAC: icv_size=12, key_size=(16,)) -#------------------------------------------------------------------------------ - - #------------------------------------------------------------------------------ def split_for_transport(orig_pkt, transport_proto): """ @@ -621,7 +618,8 @@ def split_for_transport(orig_pkt, transport_proto): @return: a tuple (header, nh, payload) where nh is the protocol number of payload. """ - header = orig_pkt.copy() + # force resolution of default fields to avoid padding errors + header = orig_pkt.__class__(str(orig_pkt)) next_hdr = header.payload nh = None