From 46eac3386659066a0a9ca6060a729e927eec7684 Mon Sep 17 00:00:00 2001 From: Lucas Pascal <lpascal@quarkslab.com> Date: Thu, 13 Apr 2017 08:50:30 +0200 Subject: [PATCH] [fix] requested correction --- scapy/layers/sctp.py | 4 ++-- test/regression.uts | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/scapy/layers/sctp.py b/scapy/layers/sctp.py index f20c4b89..94b3f4b3 100644 --- a/scapy/layers/sctp.py +++ b/scapy/layers/sctp.py @@ -8,9 +8,9 @@ SCTP (Stream Control Transmission Protocol). """ -import os import struct +from scapy.volatile import RandBin from scapy.config import conf from scapy.packet import * from scapy.fields import * @@ -319,7 +319,7 @@ class SCTPChunkParamRandom(_SCTPChunkParam, Packet): fields_desc = [ ShortEnumField("type", 0x8002, sctpchunkparamtypes), FieldLenField("len", None, length_of="random", adjust = lambda pkt,x:x+4), - PadField(StrLenField("random", os.urandom(32), + PadField(StrLenField("random", RandBin(32), length_from=lambda pkt: pkt.len-4), 4, padwith=b"\x00"),] diff --git a/test/regression.uts b/test/regression.uts index 2dc5fe5d..8de27d32 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -7892,6 +7892,11 @@ assert(p.len == 8) assert(p.seq == 0) assert(p.params == []) += SCTPChunkParamRandom - Consecutive calls +~ sctp +param1, param2 = SCTPChunkParamRandom(), SCTPChunkParamRandom() +assert(param1.random != param2.random) + ############ ############ + DHCP -- GitLab