1 /* config.c - ldap backend configuration file routine */
5 * Copyright 1999, Howard Chu, All rights reserved. <hyc@highlandsun.com>
7 * Permission is granted to anyone to use this software for any purpose
8 * on any computer system, and to alter it and redistribute it, subject
9 * to the following restrictions:
11 * 1. The author is not responsible for the consequences of use of this
12 * software, no matter how awful, even if they arise from flaws in it.
14 * 2. The origin of this software must not be misrepresented, either by
15 * explicit claim or by omission. Since few users ever read sources,
16 * credits should appear in the documentation.
18 * 3. Altered versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software. Since few users
20 * ever read sources, credits should appear in the documentation.
22 * 4. This notice may not be removed or altered.
29 #include <ac/string.h>
30 #include <ac/socket.h>
33 #include "back-ldap.h"
44 struct ldapinfo *li = (struct ldapinfo *) be->be_private;
47 fprintf( stderr, "%s: line %d: ldap backend info is null!\n",
52 /* server address to query (depricated, use "uri" directive) */
53 if ( strcasecmp( argv[0], "server" ) == 0 ) {
56 "%s: line %d: missing address in \"server <address>\" line\n",
62 li->url = ch_calloc(strlen(argv[1]) + 9, sizeof(char));
63 if (li->url != NULL) {
64 strcpy(li->url, "ldap://");
65 strcat(li->url, argv[1]);
69 /* URI of server to query (preferred over "server" directive) */
70 } else if ( strcasecmp( argv[0], "uri" ) == 0 ) {
73 "%s: line %d: missing address in \"uri <address>\" line\n",
79 li->url = ch_strdup(argv[1]);
81 /* name to use for ldap_back_group */
82 } else if ( strcasecmp( argv[0], "binddn" ) == 0 ) {
85 "%s: line %d: missing name in \"binddn <name>\" line\n",
89 li->binddn = ch_strdup(argv[1]);
91 /* password to use for ldap_back_group */
92 } else if ( strcasecmp( argv[0], "bindpw" ) == 0 ) {
95 "%s: line %d: missing password in \"bindpw <password>\" line\n",
99 li->bindpw = ch_strdup(argv[1]);
104 "%s: line %d: unknown directive \"%s\" in ldap database definition (ignored)\n",
105 fname, lineno, argv[0] );