GSM A DTAP: add UMTS EVS to supported codecs list IE
[metze/wireshark/wip.git] / epan / dissectors / packet-kerberos.h
1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-kerberos.h                                                          */
4 /* asn2wrs.py -b -p kerberos -c ./kerberos.cnf -s ./packet-kerberos-template -D . -O ../.. KerberosV5Spec2.asn k5.asn RFC3244.asn RFC6113.asn */
5
6 /* Input file: packet-kerberos-template.h */
7
8 #line 1 "./asn1/kerberos/packet-kerberos-template.h"
9 /* packet-kerberos.h
10  * Routines for kerberos packet dissection
11  * Copyright 2007, Anders Broman <anders.broman@ericsson.com>
12  *
13  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  */
19
20 #ifndef __PACKET_KERBEROS_H
21 #define __PACKET_KERBEROS_H
22
23 #include "ws_symbol_export.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28
29 /* This is a list of callback functions a caller can use to specify that
30    octet strings in kerberos to be passed back to application specific
31    dissectors, outside of kerberos.
32    This is used for dissection of application specific data for PacketCable
33    KRB_SAFE user data and eventually to pass kerberos session keys
34    to future DCERPC decryption and other uses.
35    The list is terminated by {0, NULL }
36 */
37 #define KRB_CBTAG_SAFE_USER_DATA                1
38 #define KRB_CBTAG_PRIV_USER_DATA                2
39 typedef struct _kerberos_callbacks {
40         int tag;
41         int (*callback)(packet_info *pinfo, tvbuff_t *tvb, proto_tree *tree);
42 } kerberos_callbacks;
43
44 /* Function prototypes */
45
46 gint
47 dissect_kerberos_main(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean do_col_info, kerberos_callbacks *cb);
48
49 int
50 dissect_krb5_Checksum(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
51
52 int
53 dissect_krb5_ctime(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
54
55 int dissect_krb5_cname(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
56 int dissect_krb5_realm(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
57 guint32 kerberos_output_keytype(void);
58
59 guint get_krb_pdu_len(packet_info *, tvbuff_t *tvb, int offset, void *data _U_);
60
61 gint kerberos_rm_to_reclen(guint krb_rm);
62
63 void
64 show_krb_recordmark(proto_tree *tree, tvbuff_t *tvb, gint start, guint32 krb_rm);
65
66 #ifdef HAVE_KERBEROS
67 #define KRB_MAX_ORIG_LEN        256
68
69 #if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
70 typedef struct _enc_key_t {
71         struct _enc_key_t       *next;
72         int keytype;
73         int keylength;
74         char *keyvalue;
75         char                    key_origin[KRB_MAX_ORIG_LEN+1];
76         int fd_num; /* remember where we learned a key */
77 } enc_key_t;
78 extern enc_key_t *enc_key_list;
79
80 guint8 *
81 decrypt_krb5_data(proto_tree *tree, packet_info *pinfo,
82                         int usage,
83                         tvbuff_t *crypototvb,
84                         int keytype,
85                         int *datalen);
86
87 #endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
88
89 extern gboolean krb_decrypt;
90
91 #endif /* HAVE_KERBEROS */
92
93
94 /*--- Included file: packet-kerberos-exp.h ---*/
95 #line 1 "./asn1/kerberos/packet-kerberos-exp.h"
96
97 /* enumerated values for Applications */
98 #define KERBEROS_APPLICATIONS_TICKET   1
99 #define KERBEROS_APPLICATIONS_AUTHENTICATOR   2
100 #define KERBEROS_APPLICATIONS_ENCTICKETPART   3
101 #define KERBEROS_APPLICATIONS_AS_REQ  10
102 #define KERBEROS_APPLICATIONS_AS_REP  11
103 #define KERBEROS_APPLICATIONS_TGS_REQ  12
104 #define KERBEROS_APPLICATIONS_TGS_REP  13
105 #define KERBEROS_APPLICATIONS_AP_REQ  14
106 #define KERBEROS_APPLICATIONS_AP_REP  15
107 #define KERBEROS_APPLICATIONS_KRB_SAFE  20
108 #define KERBEROS_APPLICATIONS_KRB_PRIV  21
109 #define KERBEROS_APPLICATIONS_KRB_CRED  22
110 #define KERBEROS_APPLICATIONS_ENCASREPPART  25
111 #define KERBEROS_APPLICATIONS_ENCTGSREPPART  26
112 #define KERBEROS_APPLICATIONS_ENCAPREPPART  27
113 #define KERBEROS_APPLICATIONS_ENCKRBPRIVPART  28
114 #define KERBEROS_APPLICATIONS_ENCKRBCREDPART  29
115 #define KERBEROS_APPLICATIONS_KRB_ERROR  30
116 int dissect_kerberos_ChangePasswdData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
117
118 /*--- End of included file: packet-kerberos-exp.h ---*/
119 #line 86 "./asn1/kerberos/packet-kerberos-template.h"
120
121 #ifdef __cplusplus
122 }
123 #endif /* __cplusplus */
124
125 #endif  /* __PACKET_KERBEROS_H */