1 /* packet-ldap.h
2  * Routines for ros packet dissection
3  * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
7  * Copyright 1998 Gerald Combs
8  *
9  * SPDX-License-Identifier: GPL-2.0-or-later
10  */
11 
12 #ifndef __PACKET_LDAP_H__
13 #define __PACKET_LDAP_H__
14 
15 # include <epan/packet.h>  /* for dissector_*_t types */
16 #include "ws_symbol_export.h"
17 
18 /*
19  * These are all APPLICATION types; the value is the type tag.
20  */
21 #define LDAP_REQ_BIND               0
22 #define LDAP_REQ_UNBIND             2
23 #define LDAP_REQ_SEARCH             3
24 #define LDAP_REQ_MODIFY             6
25 #define LDAP_REQ_ADD                8
26 #define LDAP_REQ_DELETE             10
27 #define LDAP_REQ_MODRDN             12
28 #define LDAP_REQ_COMPARE            14
29 #define LDAP_REQ_ABANDON            16
30 #define LDAP_REQ_EXTENDED           23	/* LDAP V3 only */
31 
32 #define LDAP_RES_BIND               1
33 #define LDAP_RES_SEARCH_ENTRY       4
34 #define LDAP_RES_SEARCH_REF         19	/* LDAP V3 only */
35 #define LDAP_RES_SEARCH_RESULT      5
36 #define LDAP_RES_MODIFY             7
37 #define LDAP_RES_ADD                9
38 #define LDAP_RES_DELETE             11
39 #define LDAP_RES_MODRDN             13
40 #define LDAP_RES_COMPARE            15
41 #define LDAP_RES_EXTENDED           24	/* LDAP V3 only */
42 #define LDAP_RES_INTERMEDIATE       25	/* LDAP V3 only */
43 
44 /*
45  * These are all CONTEXT types; the value is the type tag.
46  */
47 
48 /* authentication type tags */
49 #define LDAP_AUTH_SIMPLE        0
50 #define LDAP_AUTH_KRBV4LDAP     1	/* LDAP V2 only */
51 #define LDAP_AUTH_KRBV4DSA      2	/* LDAP V2 only */
52 #define LDAP_AUTH_SASL          3	/* LDAP V3 only */
53 
54 /* filter type tags */
55 #define LDAP_FILTER_AND         0
56 #define LDAP_FILTER_OR          1
57 #define LDAP_FILTER_NOT         2
58 #define LDAP_FILTER_EQUALITY    3
59 #define LDAP_FILTER_SUBSTRINGS  4
60 #define LDAP_FILTER_GE          5
61 #define LDAP_FILTER_LE          6
62 #define LDAP_FILTER_PRESENT     7
63 #define LDAP_FILTER_APPROX      8
64 #define LDAP_FILTER_EXTENSIBLE  9	/* LDAP V3 only */
65 
66 #define LDAP_MOD_ADD            0
67 #define LDAP_MOD_DELETE         1
68 #define LDAP_MOD_REPLACE        2
69 #define LDAP_MOD_INCREMENT      3
70 
71 #define LDAP_SASL_MAX_BUF	1024*1024
72 
73 #define NETLOGON_NT_VERSION_1                   1
74 #define NETLOGON_NT_VERSION_5                   2
75 #define NETLOGON_NT_VERSION_5EX                 4
76 #define NETLOGON_NT_VERSION_5EX_WITH_IP         8
77 #define NETLOGON_NT_VERSION_WITH_CLOSEST_SITE  16
78 
79 #define LOGON_SAM_LOGON_RESPONSE        19
80 #define LOGON_SAM_LOGON_RESPONSE_EX     23
81 
82 typedef struct ldap_call_response {
83   gboolean is_request;
84   guint32 req_frame;
85   nstime_t req_time;
86   guint32 rep_frame;
87   guint messageId;
88   guint protocolOpTag;
89 } ldap_call_response_t;
90 
91 WS_DLL_PUBLIC
92 int dissect_mscldap_string(tvbuff_t *tvb, int offset, char *str, int max_len, gboolean prepend_dot _U_);
93 
94 WS_DLL_PUBLIC const value_string ldap_procedure_names[];
95 
96 /*#include "packet-ldap-exp.h" */
97 
98 #endif  /* PACKET_LDAP_H */
99 
100 
101