]> arthur.barton.de Git - netatalk.git/blob - include/atalk/ldapconfig.h
Active Directory LDAP queries for ACL support
[netatalk.git] / include / atalk / ldapconfig.h
1 #ifdef HAVE_LDAP
2
3 #ifndef LDAPCONFIG_H
4 #define LDAPCONFIG_H
5
6 #include <atalk/iniparser.h>
7
8 /* One function does the whole job */
9 extern int acl_ldap_readconfig(dictionary *iniconfig);
10 extern void acl_ldap_freeconfig(void);
11
12 /* These are the prefvalues */
13 extern char *ldap_server;
14 extern int  ldap_auth_method;
15 extern char *ldap_auth_dn;
16 extern char *ldap_auth_pw;
17 extern char *ldap_userbase;
18 extern char *ldap_groupbase;
19 extern char *ldap_uuid_attr;
20 extern char *ldap_uuid_string;
21 extern char *ldap_name_attr;
22 extern char *ldap_group_attr;
23 extern char *ldap_uid_attr;
24 extern char *ldap_userfilter;
25 extern char *ldap_groupfilter;
26 extern int  ldap_uuid_encoding;
27
28 typedef enum {
29         LDAP_UUID_ENCODING_STRING = 0, /* Plain ASCII string */
30         LDAP_UUID_ENCODING_MSGUID = 1  /* Raw byte array, from Active Directory objectGUID */
31 } ldap_uuid_encoding_type;
32
33 struct ldap_pref {
34     const void *pref;
35     char *name;
36     int strorint;     /* string to just store in char * or convert to int ? */
37     int intfromarray; /* convert to int, but use string to int mapping array pref_array[] */
38     int valid;        /* -1 = mandatory, 0 = omittable/valid */
39     int valid_save;   /* copy of 'valid', used when resettting config */
40 };
41
42 struct pref_array {
43     const char *pref;         /* name of pref from ldap_prefs[] to which this value corresponds */
44     char *valuestring;  /* config string */
45     int  value;         /* corresponding value */
46 };
47
48
49
50 /* For parsing */
51 extern struct ldap_pref ldap_prefs[];
52 extern struct pref_array prefs_array[];
53 extern int ldap_config_valid;
54
55 #endif /* LDAPCONFIG_H */
56
57 #endif /* HAVE_LDAP */