MCPcopy Index your code
hub / github.com/secdev/scapy / KRB_InnerToken

Class KRB_InnerToken

scapy/layers/kerberos.py:2493–2520  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2491
2492
2493class KRB_InnerToken(Packet):
2494 name = "Kerberos v5 InnerToken"
2495 fields_desc = [
2496 StrFixedLenEnumField("TOK_ID", b"\x01\x00", _TOK_IDS, length=2),
2497 PacketField(
2498 "root",
2499 KRB_AP_REQ(),
2500 lambda x, _parent: _InitialContextTokens[_parent.TOK_ID](x),
2501 ),
2502 ]
2503
2504 def mysummary(self):
2505 return self.sprintf(
2506 "Kerberos %s" % _TOK_IDS.get(self.TOK_ID, repr(self.TOK_ID))
2507 )
2508
2509 def guess_payload_class(self, payload):
2510 if self.TOK_ID in [b"\x01\x01", b"\x02\x01", b"\x04\x04", b"\x05\x04"]:
2511 return conf.padding_layer
2512 return Kerberos
2513
2514 @classmethod
2515 def dispatch_hook(cls, _pkt=None, *args, **kargs):
2516 if _pkt and len(_pkt) >= 13:
2517 # Older RFC1964 variants of the token have KRB_GSSAPI_Token wrapper
2518 if _pkt[2:13] == b"\x06\t*\x86H\x86\xf7\x12\x01\x02\x02":
2519 return KRB_GSSAPI_Token
2520 return cls
2521
2522
2523# RFC 4121 - sect 4.1

Callers 6

CommonAuthVerifierClass · 0.90
KRB_GSSAPI_TokenClass · 0.85
GSS_GetMICExMethod · 0.85
GSS_WrapExMethod · 0.85
GSS_Init_sec_contextMethod · 0.85

Calls 3

PacketFieldClass · 0.90
KRB_AP_REQClass · 0.85

Tested by

no test coverage detected