code: def getfield(self, pkt, s):
          
          ext = pkt.get_field(self.length_of)
          tmp_len = ext.length_from(pkt)
          if tmp_len is None or tmp_len <= 0:
              v = pkt.tls_session.tls_version
              if v is None or v < 0x0304:
                  return s, None
          return super(_ExtensionsLenField, self).getfield(pkt, s)
docs: We try to compute a length, usually from a msglen parsed earlier.
          If this length is 0, we consider 'selection_present' (from RFC 5246)
          to be False. This means that there should not be any length field.
          However, with TLS 1.3, zero lengths are always explicit.