forked from osmocom/wireshark
spnego: fix indent (use 2 spaces) and modelines
Change-Id: I077c21eb213435e7ed0e9ac0b9a8f95aa9dd6f3d Reviewed-on: https://code.wireshark.org/review/18075 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
d6635e8dc8
commit
257abd9121
|
@ -192,8 +192,7 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
asn1_ctx_t asn1_ctx;
|
||||
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
|
||||
|
||||
item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego_krb5);
|
||||
|
||||
|
@ -246,8 +245,7 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
offset=dissect_ber_object_identifier_str(FALSE, &asn1_ctx, subtree, tvb, offset, hf_spnego_krb5_oid, &oid);
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -264,16 +262,14 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
|
||||
default:
|
||||
proto_tree_add_expert_format(subtree, pinfo, &ei_spnego_unknown_header, tvb, offset, 0,
|
||||
"Unknown header (class=%d, pc=%d, tag=%d)",
|
||||
ber_class, pc, tag);
|
||||
"Unknown header (class=%d, pc=%d, tag=%d)", ber_class, pc, tag);
|
||||
goto done;
|
||||
}
|
||||
} else {
|
||||
/* Next, the token ID ... */
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
}
|
||||
|
@ -345,25 +341,13 @@ arcfour_mic_key(const guint8 *key_data, size_t key_size, int key_type,
|
|||
guint8 L40[14] = "fortybits";
|
||||
|
||||
memcpy(L40 + 10, T, sizeof(T));
|
||||
md5_hmac(
|
||||
L40, 14,
|
||||
key_data,
|
||||
key_size,
|
||||
k5_data);
|
||||
md5_hmac(L40, 14, key_data, key_size, k5_data);
|
||||
memset(&k5_data[7], 0xAB, 9);
|
||||
} else {
|
||||
md5_hmac(
|
||||
T, 4,
|
||||
key_data,
|
||||
key_size,
|
||||
k5_data);
|
||||
md5_hmac(T, 4, key_data, key_size, k5_data);
|
||||
}
|
||||
|
||||
md5_hmac(
|
||||
cksum_data, cksum_size,
|
||||
k5_data,
|
||||
16,
|
||||
key6_data);
|
||||
md5_hmac(cksum_data, cksum_size, k5_data, 16, key6_data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -403,9 +387,7 @@ arcfour_mic_cksum(guint8 *key_data, int key_length,
|
|||
guint8 cksum[16];
|
||||
|
||||
rc4_usage=usage2arcfour(usage);
|
||||
md5_hmac(signature, sizeof(signature),
|
||||
key_data, key_length,
|
||||
ksign_c);
|
||||
md5_hmac(signature, sizeof(signature), key_data, key_length, ksign_c);
|
||||
md5_init(&ms);
|
||||
t[0] = (rc4_usage >> 0) & 0xFF;
|
||||
t[1] = (rc4_usage >> 8) & 0xFF;
|
||||
|
@ -441,8 +423,7 @@ gssapi_verify_pad(guint8 *wrapped_data, int wrapped_length,
|
|||
if (padlength > datalen)
|
||||
return 1;
|
||||
|
||||
for (i = padlength; i > 0 && *pad == padlength; i--, pad--)
|
||||
;
|
||||
for (i = padlength; i > 0 && *pad == padlength; i--, pad--);
|
||||
if (i != 0)
|
||||
return 2;
|
||||
|
||||
|
@ -465,6 +446,8 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
int cmp;
|
||||
int conf_flag;
|
||||
int padlen = 0;
|
||||
rc4_state_struct rc4_state;
|
||||
int i;
|
||||
|
||||
datalen = tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb);
|
||||
|
||||
|
@ -488,27 +471,22 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
return -5;
|
||||
}
|
||||
|
||||
{
|
||||
rc4_state_struct rc4_state;
|
||||
|
||||
crypt_rc4_init(&rc4_state, k6_data, sizeof(k6_data));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, SND_SEQ, 8, 8);
|
||||
crypt_rc4(&rc4_state, (guint8 *)SND_SEQ, 8);
|
||||
|
||||
memset(k6_data, 0, sizeof(k6_data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (SND_SEQ[1] != 0xFFFFFFFF && SND_SEQ[1] != 0x00000000) {
|
||||
return -6;
|
||||
}
|
||||
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
Klocaldata[i] = ((guint8 *)key_value)[i] ^ 0xF0;
|
||||
}
|
||||
|
||||
ret = arcfour_mic_key(Klocaldata,sizeof(Klocaldata),key_type,
|
||||
(const guint8 *)SND_SEQ, 4,
|
||||
k6_data);
|
||||
|
@ -518,7 +496,6 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
}
|
||||
|
||||
if(conf_flag) {
|
||||
rc4_state_struct rc4_state;
|
||||
|
||||
crypt_rc4_init(&rc4_state, k6_data, sizeof(k6_data));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
|
||||
|
@ -527,9 +504,7 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
crypt_rc4(&rc4_state, output_message_buffer, datalen);
|
||||
} else {
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
|
||||
memcpy(output_message_buffer,
|
||||
input_message_buffer,
|
||||
datalen);
|
||||
memcpy(output_message_buffer, input_message_buffer, datalen);
|
||||
}
|
||||
memset(k6_data, 0, sizeof(k6_data));
|
||||
|
||||
|
@ -544,12 +519,10 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
|
||||
/* don't know what the checksum looks like for dce style gssapi */
|
||||
if(gssapi_encrypt->decrypt_gssapi_tvb==DECRYPT_GSSAPI_NORMAL){
|
||||
ret = arcfour_mic_cksum(key_value, key_size,
|
||||
KRB5_KU_USAGE_SEAL,
|
||||
ret = arcfour_mic_cksum(key_value, key_size, KRB5_KU_USAGE_SEAL,
|
||||
cksum_data,
|
||||
tvb_get_ptr(gssapi_encrypt->gssapi_wrap_tvb, 0, 8), 8,
|
||||
Confounder, sizeof(Confounder),
|
||||
output_message_buffer,
|
||||
Confounder, sizeof(Confounder), output_message_buffer,
|
||||
datalen + padlen);
|
||||
if (ret) {
|
||||
return -10;
|
||||
|
@ -618,9 +591,7 @@ decrypt_gssapi_krb_arcfour_wrap(proto_tree *tree _U_, packet_info *pinfo, tvbuff
|
|||
"Decrypted keytype %d in frame %u using %s",
|
||||
ek->keytype, pinfo->num, ek->key_origin);
|
||||
|
||||
gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb,
|
||||
output_message_buffer,
|
||||
ret, ret);
|
||||
gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb, output_message_buffer, ret, ret);
|
||||
add_new_data_source(pinfo, gssapi_encrypt->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
|
||||
return;
|
||||
}
|
||||
|
@ -698,8 +669,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree,
|
|||
|
||||
rotated = (guint8 *)wmem_alloc(pinfo->pool, datalen);
|
||||
|
||||
tvb_memcpy(checksum_tvb, rotated,
|
||||
0, tvb_captured_length(checksum_tvb));
|
||||
tvb_memcpy(checksum_tvb, rotated, 0, tvb_captured_length(checksum_tvb));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_encrypted_tvb, rotated + tvb_captured_length(checksum_tvb),
|
||||
0, tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb));
|
||||
|
||||
|
@ -713,8 +683,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree,
|
|||
datalen, datalen);
|
||||
add_new_data_source(pinfo, next_tvb, "GSSAPI CFX");
|
||||
|
||||
output = decrypt_krb5_data(tree, pinfo, usage, next_tvb,
|
||||
keytype, &datalen);
|
||||
output = decrypt_krb5_data(tree, pinfo, usage, next_tvb, keytype, &datalen);
|
||||
|
||||
if (output) {
|
||||
guint8 *outdata;
|
||||
|
@ -763,14 +732,12 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
/* Now, the sign and seal algorithms ... */
|
||||
|
||||
sgn_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2,
|
||||
sgn_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
seal_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_seal_alg, tvb, offset, 2,
|
||||
seal_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_seal_alg, tvb, offset, 2, seal_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -780,15 +747,13 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
|
||||
/* Encrypted sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
|
@ -804,8 +769,7 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
SASL with LDAP between a Java client and Active Directory. If this breaks other things
|
||||
we may need to make this an option. gal 17/2/06 */
|
||||
(sgn_alg == KRB_SGN_ALG_DES_MAC_MD5)) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
|
||||
offset += 8;
|
||||
}
|
||||
|
||||
|
@ -883,8 +847,7 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
/* Now, the sign algorithm ... */
|
||||
|
||||
sgn_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2,
|
||||
sgn_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -894,15 +857,13 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
|
||||
/* Encrypted sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
|
@ -919,8 +880,7 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
*/
|
||||
if (tvb_reported_length_remaining(tvb, offset)) {
|
||||
if (sgn_alg == KRB_SGN_ALG_HMAC) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
}
|
||||
|
@ -988,28 +948,24 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
|
||||
/* Skip the filler */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 1,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 1, ENC_NA);
|
||||
offset += 1;
|
||||
|
||||
/* EC */
|
||||
ec = tvb_get_ntohs(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_ec, tvb, offset, 2,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_ec, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
/* RRC */
|
||||
#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
|
||||
rrc = tvb_get_ntohs(tvb, offset);
|
||||
#endif
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_rrc, tvb, offset, 2,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_rrc, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
/* sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset += 8;
|
||||
|
||||
if (gssapi_encrypt == NULL) /* Probably shoudn't happen, but just protect ourselves */
|
||||
|
@ -1020,8 +976,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
if (gssapi_encrypt->gssapi_data_encrypted) {
|
||||
checksum_size = 44 + ec;
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset,
|
||||
checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
|
||||
} else {
|
||||
|
@ -1047,8 +1002,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
*/
|
||||
#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
|
||||
if (rrc == ec) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum,
|
||||
tvb, offset, checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
}
|
||||
#endif
|
||||
|
@ -1063,8 +1017,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
if (rrc == 0)
|
||||
#endif
|
||||
{
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum,
|
||||
tvb, offset, checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1157,22 +1110,19 @@ dissect_spnego_krb5_cfx_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinf
|
|||
|
||||
/* Skip the filler */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 5,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 5, ENC_NA);
|
||||
offset += 5;
|
||||
|
||||
/* sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
checksum_size = tvb_captured_length_remaining(tvb, offset);
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset,
|
||||
checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
|
||||
/*
|
||||
|
@ -1214,8 +1164,7 @@ dissect_spnego_krb5_wrap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
|
|||
/* First, the token ID ... */
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -1271,8 +1220,7 @@ dissect_spnego_wrap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
*/
|
||||
|
||||
|
||||
item = proto_tree_add_item(tree, proto_spnego, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(tree, proto_spnego, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego);
|
||||
/*
|
||||
|
@ -1317,15 +1265,13 @@ dissect_spnego(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
pinfo->destport, 0);
|
||||
|
||||
if (conversation) {
|
||||
next_level_value = (gssapi_oid_value *)conversation_get_proto_data(conversation,
|
||||
proto_spnego);
|
||||
next_level_value = (gssapi_oid_value *)conversation_get_proto_data(conversation, proto_spnego);
|
||||
if (next_level_value)
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_spnego, 0, next_level_value);
|
||||
}
|
||||
}
|
||||
|
||||
item = proto_tree_add_item(parent_tree, proto_spnego, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(parent_tree, proto_spnego, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego);
|
||||
|
||||
|
@ -1443,9 +1389,7 @@ void proto_register_spnego(void) {
|
|||
|
||||
spnego_handle = register_dissector("spnego", dissect_spnego, proto_spnego);
|
||||
|
||||
proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5",
|
||||
"SPNEGO-KRB5",
|
||||
"spnego-krb5");
|
||||
proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5", "SPNEGO-KRB5", "spnego-krb5");
|
||||
|
||||
spnego_krb5_handle = register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5);
|
||||
spnego_krb5_wrap_handle = register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5);
|
||||
|
@ -1490,3 +1434,16 @@ void proto_reg_handoff_spnego(void) {
|
|||
"KRB5 - Kerberos 5 - User to User");
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
* Local Variables:
|
||||
* c-basic-offset: 2
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* ex: set shiftwidth=2 tabstop=8 expandtab:
|
||||
* :indentSize=2:tabSize=8:noTabs=true:
|
||||
*/
|
||||
|
|
|
@ -177,3 +177,16 @@ NegotiationToken
|
|||
}
|
||||
|
||||
#.END
|
||||
|
||||
#
|
||||
# Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
#
|
||||
# Local variables:
|
||||
# c-basic-offset: 2
|
||||
# tab-width: 8
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
#
|
||||
# vi: set shiftwidth=2 tabstop=8 expandtab:
|
||||
# :indentSize=2:tabSize=8:noTabs=true:
|
||||
#
|
||||
|
|
|
@ -644,8 +644,7 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
asn1_ctx_t asn1_ctx;
|
||||
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
|
||||
|
||||
item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego_krb5);
|
||||
|
||||
|
@ -698,8 +697,7 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
offset=dissect_ber_object_identifier_str(FALSE, &asn1_ctx, subtree, tvb, offset, hf_spnego_krb5_oid, &oid);
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -716,16 +714,14 @@ dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
|
|||
|
||||
default:
|
||||
proto_tree_add_expert_format(subtree, pinfo, &ei_spnego_unknown_header, tvb, offset, 0,
|
||||
"Unknown header (class=%d, pc=%d, tag=%d)",
|
||||
ber_class, pc, tag);
|
||||
"Unknown header (class=%d, pc=%d, tag=%d)", ber_class, pc, tag);
|
||||
goto done;
|
||||
}
|
||||
} else {
|
||||
/* Next, the token ID ... */
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
}
|
||||
|
@ -797,25 +793,13 @@ arcfour_mic_key(const guint8 *key_data, size_t key_size, int key_type,
|
|||
guint8 L40[14] = "fortybits";
|
||||
|
||||
memcpy(L40 + 10, T, sizeof(T));
|
||||
md5_hmac(
|
||||
L40, 14,
|
||||
key_data,
|
||||
key_size,
|
||||
k5_data);
|
||||
md5_hmac(L40, 14, key_data, key_size, k5_data);
|
||||
memset(&k5_data[7], 0xAB, 9);
|
||||
} else {
|
||||
md5_hmac(
|
||||
T, 4,
|
||||
key_data,
|
||||
key_size,
|
||||
k5_data);
|
||||
md5_hmac(T, 4, key_data, key_size, k5_data);
|
||||
}
|
||||
|
||||
md5_hmac(
|
||||
cksum_data, cksum_size,
|
||||
k5_data,
|
||||
16,
|
||||
key6_data);
|
||||
md5_hmac(cksum_data, cksum_size, k5_data, 16, key6_data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -855,9 +839,7 @@ arcfour_mic_cksum(guint8 *key_data, int key_length,
|
|||
guint8 cksum[16];
|
||||
|
||||
rc4_usage=usage2arcfour(usage);
|
||||
md5_hmac(signature, sizeof(signature),
|
||||
key_data, key_length,
|
||||
ksign_c);
|
||||
md5_hmac(signature, sizeof(signature), key_data, key_length, ksign_c);
|
||||
md5_init(&ms);
|
||||
t[0] = (rc4_usage >> 0) & 0xFF;
|
||||
t[1] = (rc4_usage >> 8) & 0xFF;
|
||||
|
@ -893,8 +875,7 @@ gssapi_verify_pad(guint8 *wrapped_data, int wrapped_length,
|
|||
if (padlength > datalen)
|
||||
return 1;
|
||||
|
||||
for (i = padlength; i > 0 && *pad == padlength; i--, pad--)
|
||||
;
|
||||
for (i = padlength; i > 0 && *pad == padlength; i--, pad--);
|
||||
if (i != 0)
|
||||
return 2;
|
||||
|
||||
|
@ -917,6 +898,8 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
int cmp;
|
||||
int conf_flag;
|
||||
int padlen = 0;
|
||||
rc4_state_struct rc4_state;
|
||||
int i;
|
||||
|
||||
datalen = tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb);
|
||||
|
||||
|
@ -940,27 +923,22 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
return -5;
|
||||
}
|
||||
|
||||
{
|
||||
rc4_state_struct rc4_state;
|
||||
|
||||
crypt_rc4_init(&rc4_state, k6_data, sizeof(k6_data));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, SND_SEQ, 8, 8);
|
||||
crypt_rc4(&rc4_state, (guint8 *)SND_SEQ, 8);
|
||||
|
||||
memset(k6_data, 0, sizeof(k6_data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (SND_SEQ[1] != 0xFFFFFFFF && SND_SEQ[1] != 0x00000000) {
|
||||
return -6;
|
||||
}
|
||||
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
Klocaldata[i] = ((guint8 *)key_value)[i] ^ 0xF0;
|
||||
}
|
||||
|
||||
ret = arcfour_mic_key(Klocaldata,sizeof(Klocaldata),key_type,
|
||||
(const guint8 *)SND_SEQ, 4,
|
||||
k6_data);
|
||||
|
@ -970,7 +948,6 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
}
|
||||
|
||||
if(conf_flag) {
|
||||
rc4_state_struct rc4_state;
|
||||
|
||||
crypt_rc4_init(&rc4_state, k6_data, sizeof(k6_data));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
|
||||
|
@ -979,9 +956,7 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
crypt_rc4(&rc4_state, output_message_buffer, datalen);
|
||||
} else {
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
|
||||
memcpy(output_message_buffer,
|
||||
input_message_buffer,
|
||||
datalen);
|
||||
memcpy(output_message_buffer, input_message_buffer, datalen);
|
||||
}
|
||||
memset(k6_data, 0, sizeof(k6_data));
|
||||
|
||||
|
@ -996,12 +971,10 @@ decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buf
|
|||
|
||||
/* don't know what the checksum looks like for dce style gssapi */
|
||||
if(gssapi_encrypt->decrypt_gssapi_tvb==DECRYPT_GSSAPI_NORMAL){
|
||||
ret = arcfour_mic_cksum(key_value, key_size,
|
||||
KRB5_KU_USAGE_SEAL,
|
||||
ret = arcfour_mic_cksum(key_value, key_size, KRB5_KU_USAGE_SEAL,
|
||||
cksum_data,
|
||||
tvb_get_ptr(gssapi_encrypt->gssapi_wrap_tvb, 0, 8), 8,
|
||||
Confounder, sizeof(Confounder),
|
||||
output_message_buffer,
|
||||
Confounder, sizeof(Confounder), output_message_buffer,
|
||||
datalen + padlen);
|
||||
if (ret) {
|
||||
return -10;
|
||||
|
@ -1070,9 +1043,7 @@ decrypt_gssapi_krb_arcfour_wrap(proto_tree *tree _U_, packet_info *pinfo, tvbuff
|
|||
"Decrypted keytype %d in frame %u using %s",
|
||||
ek->keytype, pinfo->num, ek->key_origin);
|
||||
|
||||
gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb,
|
||||
output_message_buffer,
|
||||
ret, ret);
|
||||
gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb, output_message_buffer, ret, ret);
|
||||
add_new_data_source(pinfo, gssapi_encrypt->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
|
||||
return;
|
||||
}
|
||||
|
@ -1150,8 +1121,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree,
|
|||
|
||||
rotated = (guint8 *)wmem_alloc(pinfo->pool, datalen);
|
||||
|
||||
tvb_memcpy(checksum_tvb, rotated,
|
||||
0, tvb_captured_length(checksum_tvb));
|
||||
tvb_memcpy(checksum_tvb, rotated, 0, tvb_captured_length(checksum_tvb));
|
||||
tvb_memcpy(gssapi_encrypt->gssapi_encrypted_tvb, rotated + tvb_captured_length(checksum_tvb),
|
||||
0, tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb));
|
||||
|
||||
|
@ -1165,8 +1135,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree,
|
|||
datalen, datalen);
|
||||
add_new_data_source(pinfo, next_tvb, "GSSAPI CFX");
|
||||
|
||||
output = decrypt_krb5_data(tree, pinfo, usage, next_tvb,
|
||||
keytype, &datalen);
|
||||
output = decrypt_krb5_data(tree, pinfo, usage, next_tvb, keytype, &datalen);
|
||||
|
||||
if (output) {
|
||||
guint8 *outdata;
|
||||
|
@ -1215,14 +1184,12 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
/* Now, the sign and seal algorithms ... */
|
||||
|
||||
sgn_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2,
|
||||
sgn_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
seal_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_seal_alg, tvb, offset, 2,
|
||||
seal_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_seal_alg, tvb, offset, 2, seal_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -1232,15 +1199,13 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
|
||||
/* Encrypted sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
|
@ -1256,8 +1221,7 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
SASL with LDAP between a Java client and Active Directory. If this breaks other things
|
||||
we may need to make this an option. gal 17/2/06 */
|
||||
(sgn_alg == KRB_SGN_ALG_DES_MAC_MD5)) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
|
||||
offset += 8;
|
||||
}
|
||||
|
||||
|
@ -1335,8 +1299,7 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
/* Now, the sign algorithm ... */
|
||||
|
||||
sgn_alg = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2,
|
||||
sgn_alg);
|
||||
proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -1346,15 +1309,13 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
|
||||
/* Encrypted sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
|
||||
|
@ -1371,8 +1332,7 @@ dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U
|
|||
*/
|
||||
if (tvb_reported_length_remaining(tvb, offset)) {
|
||||
if (sgn_alg == KRB_SGN_ALG_HMAC) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
|
||||
|
||||
offset += 8;
|
||||
}
|
||||
|
@ -1440,28 +1400,24 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
|
||||
/* Skip the filler */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 1,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 1, ENC_NA);
|
||||
offset += 1;
|
||||
|
||||
/* EC */
|
||||
ec = tvb_get_ntohs(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_ec, tvb, offset, 2,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_ec, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
/* RRC */
|
||||
#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
|
||||
rrc = tvb_get_ntohs(tvb, offset);
|
||||
#endif
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_rrc, tvb, offset, 2,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_rrc, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
/* sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset += 8;
|
||||
|
||||
if (gssapi_encrypt == NULL) /* Probably shoudn't happen, but just protect ourselves */
|
||||
|
@ -1472,8 +1428,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
if (gssapi_encrypt->gssapi_data_encrypted) {
|
||||
checksum_size = 44 + ec;
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset,
|
||||
checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
|
||||
} else {
|
||||
|
@ -1499,8 +1454,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
*/
|
||||
#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
|
||||
if (rrc == ec) {
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum,
|
||||
tvb, offset, checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
}
|
||||
#endif
|
||||
|
@ -1515,8 +1469,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
if (rrc == 0)
|
||||
#endif
|
||||
{
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum,
|
||||
tvb, offset, checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1609,22 +1562,19 @@ dissect_spnego_krb5_cfx_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinf
|
|||
|
||||
/* Skip the filler */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 5,
|
||||
ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 5, ENC_NA);
|
||||
offset += 5;
|
||||
|
||||
/* sequence number */
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8,
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset += 8;
|
||||
|
||||
/* Checksum of plaintext padded data */
|
||||
|
||||
checksum_size = tvb_captured_length_remaining(tvb, offset);
|
||||
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset,
|
||||
checksum_size, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
|
||||
offset += checksum_size;
|
||||
|
||||
/*
|
||||
|
@ -1666,8 +1616,7 @@ dissect_spnego_krb5_wrap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
|
|||
/* First, the token ID ... */
|
||||
|
||||
token_id = tvb_get_letohs(tvb, offset);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
|
||||
token_id);
|
||||
proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
|
||||
|
||||
offset += 2;
|
||||
|
||||
|
@ -1723,8 +1672,7 @@ dissect_spnego_wrap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
*/
|
||||
|
||||
|
||||
item = proto_tree_add_item(tree, proto_spnego, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(tree, proto_spnego, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego);
|
||||
/*
|
||||
|
@ -1769,15 +1717,13 @@ dissect_spnego(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
pinfo->destport, 0);
|
||||
|
||||
if (conversation) {
|
||||
next_level_value = (gssapi_oid_value *)conversation_get_proto_data(conversation,
|
||||
proto_spnego);
|
||||
next_level_value = (gssapi_oid_value *)conversation_get_proto_data(conversation, proto_spnego);
|
||||
if (next_level_value)
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_spnego, 0, next_level_value);
|
||||
}
|
||||
}
|
||||
|
||||
item = proto_tree_add_item(parent_tree, proto_spnego, tvb, offset,
|
||||
-1, ENC_NA);
|
||||
item = proto_tree_add_item(parent_tree, proto_spnego, tvb, offset, -1, ENC_NA);
|
||||
|
||||
subtree = proto_item_add_subtree(item, ett_spnego);
|
||||
|
||||
|
@ -1967,7 +1913,7 @@ void proto_register_spnego(void) {
|
|||
NULL, HFILL }},
|
||||
|
||||
/*--- End of included file: packet-spnego-hfarr.c ---*/
|
||||
#line 1422 "./asn1/spnego/packet-spnego-template.c"
|
||||
#line 1368 "./asn1/spnego/packet-spnego-template.c"
|
||||
};
|
||||
|
||||
/* List of subtrees */
|
||||
|
@ -1990,7 +1936,7 @@ void proto_register_spnego(void) {
|
|||
&ett_spnego_InitialContextToken_U,
|
||||
|
||||
/*--- End of included file: packet-spnego-ettarr.c ---*/
|
||||
#line 1432 "./asn1/spnego/packet-spnego-template.c"
|
||||
#line 1378 "./asn1/spnego/packet-spnego-template.c"
|
||||
};
|
||||
|
||||
static ei_register_info ei[] = {
|
||||
|
@ -2005,9 +1951,7 @@ void proto_register_spnego(void) {
|
|||
|
||||
spnego_handle = register_dissector("spnego", dissect_spnego, proto_spnego);
|
||||
|
||||
proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5",
|
||||
"SPNEGO-KRB5",
|
||||
"spnego-krb5");
|
||||
proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5", "SPNEGO-KRB5", "spnego-krb5");
|
||||
|
||||
spnego_krb5_handle = register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5);
|
||||
spnego_krb5_wrap_handle = register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5);
|
||||
|
@ -2052,3 +1996,16 @@ void proto_reg_handoff_spnego(void) {
|
|||
"KRB5 - Kerberos 5 - User to User");
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
* Local Variables:
|
||||
* c-basic-offset: 2
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* ex: set shiftwidth=2 tabstop=8 expandtab:
|
||||
* :indentSize=2:tabSize=8:noTabs=true:
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue