diff --git a/scapy/packet.py b/scapy/packet.py index d6f95189ced14b4658e6d7a8ee1b2df97eeb9189..2573eaa372325ecd7bc17d4aaf61f234282e78e6 100644 --- a/scapy/packet.py +++ b/scapy/packet.py @@ -51,6 +51,7 @@ class Packet(BasePacket): overload_fields = {} payload_guess = [] show_indent = 1 + show_summary = True @classmethod def from_hexcap(cls): @@ -984,9 +985,7 @@ A side effect is that, to obtain "{" and "}" characters, you must use return "" def _do_summary(self): - found,s,needed = self.payload._do_summary() - if s: - s = " / "+s + found, s, needed = self.payload._do_summary() ret = "" if not found or self.__class__ in needed: ret = self.mysummary() @@ -996,14 +995,17 @@ A side effect is that, to obtain "{" and "}" characters, you must use if ret or needed: found = 1 if not ret: - ret = self.__class__.__name__ + ret = self.__class__.__name__ if self.show_summary else "" if self.__class__ in conf.emph: impf = [] for f in self.fields_desc: if f in conf.emph: impf.append("%s=%s" % (f.name, f.i2repr(self, self.getfieldval(f.name)))) ret = "%s [%s]" % (ret," ".join(impf)) - ret = "%s%s" % (ret,s) + if ret and s: + ret = "%s / %s" % (ret, s) + else: + ret = "%s%s" % (ret,s) return found,ret,needed def summary(self, intern=0):