From 0b3dee842b3e5769bb8fb132a8a5651e3fe36cfb Mon Sep 17 00:00:00 2001
From: Pierre LALET <pierre.lalet@cea.fr>
Date: Tue, 15 Mar 2016 10:17:49 +0100
Subject: [PATCH] ls(): support FlagsField in verbose mode

---
 scapy/packet.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/scapy/packet.py b/scapy/packet.py
index 64f269c1..cc44df77 100644
--- a/scapy/packet.py
+++ b/scapy/packet.py
@@ -1274,6 +1274,12 @@ def ls(obj=None, case_sensitive=False, verbose=False):
                             "%s: %d" % (strval, numval)
                             for numval, strval in sorted(cur_i2s.iteritems())
                         )
+                elif verbose and isinstance(cur_fld, FlagsField):
+                    names = cur_fld.names
+                    if isinstance(names, basestring):
+                        long_attrs.append(", ".join(names))
+                    else:
+                        long_attrs.append(", ".join(name[0] for name in names))
                 class_name = "%s (%s)" % (
                     cur_fld.__class__.__name__,
                     ", ".join(attrs)) if attrs else cur_fld.__class__.__name__
-- 
GitLab