5 ads interface definition
10 cpp_quote("#include <system/network.h>")
13 pointer_default(unique)
17 typedef [public] enum {
18 ADS_SASLWRAP_TYPE_PLAIN = 1,
19 ADS_SASLWRAP_TYPE_SIGN = 2,
20 ADS_SASLWRAP_TYPE_SEAL = 4
23 /* ads auth control flags */
24 typedef [public] bitmap {
25 ADS_AUTH_NO_BIND = 0x0002,
26 ADS_AUTH_ANON_BIND = 0x0004,
27 ADS_AUTH_SASL_SIGN = 0x0020,
28 ADS_AUTH_SASL_SEAL = 0x0040,
29 ADS_AUTH_SASL_FORCE = 0x0080,
30 ADS_AUTH_SASL_STARTTLS = 0x0200,
31 ADS_AUTH_SASL_LDAPS = 0x0400,
32 ADS_AUTH_GENERATE_KRB5_CONFIG = 0x0800,
33 ADS_AUTH_CLDAP_ONLY = 0x1000
36 const int ADS_SASL_WRAPPING_IN_MAX_WRAPPED = 0x0FFFFFFF;
37 const int ADS_SASL_WRAPPING_OUT_MAX_WRAPPED = 0x00A00000;
39 typedef [nopull,nopush] struct {
43 boolean8 gc; /* Is this a global catalog server? */
44 boolean8 no_fallback; /* Bail if the ldap_server is not available */
47 typedef [nopull,nopush] struct {
51 [ignore] struct ads_reconnect_state *reconnect_state;
54 typedef [nopull,nopush] struct {
55 nbt_server_type flags; /* cldap flags identifying the services. */
59 string ldap_server_name;
60 string server_site_name;
61 string client_site_name;
69 typedef [nopull,nopush] struct {
79 typedef [nopull,nopush] struct {
88 typedef [nopull,nopush] struct {
89 ads_saslwrap_type wrap_type;
90 [ignore] ads_saslwrap_ops *wrap_ops;
92 [ignore] struct sockbuf_io_desc *sbiod; /* lowlevel state for LDAP wrapping */
94 [ignore] TALLOC_CTX *mem_ctx;
95 [ignore] void *wrap_private_data;
100 typedef [nopull,nopush] struct {
101 [ignore] TALLOC_CTX *mem_ctx;
102 [ignore] timeval endtime;
104 [ignore] struct sockbuf_io_desc *sbiod; /* lowlevel state for LDAP wrapping */
105 [ignore] struct tstream_tls_params *tls_params;
106 [ignore] struct tstream_tls_sync *tls_sync;
107 #endif /* HAVE_ADS */
110 typedef [nopull,nopush] struct {
112 sockaddr_storage ss; /* the ip of the active connection, if any */
113 time_t last_attempt; /* last attempt to reconnect, monotonic clock */
117 typedef [public,nopull,nopush] struct {
118 /* info needed to find the server */
121 /* info needed to authenticate */
124 /* info derived from the servers config */
128 ads_saslwrap ldap_wrap_data;
129 ads_tlswrap ldap_tls_data;
130 /* info about the current LDAP connection */
132 #endif /* HAVE_ADS */