@ -72,6 +72,9 @@ int parse_config(oal_config_t * const config, const char *file) {
if (strncmp(key, "bindtimeout", 11) == 0) {
config->bindtimeout = atoi(value);
} else
if (strncmp(key, "debug", 5) == 0) {
config->debug = !!atoi(value);
if (strncmp(key, "basedn", 6) == 0) {
config->basedn = strndup(value, valsize);
@ -7,6 +7,7 @@ typedef struct {
char *bindpass; /** bind with this password */
size_t bindtimeout; /** bind timeout */
char *basedn; /** where to search for users */
short debug; /** enable ldap debug */
char *userfilter; /** ldap filter for user entry */
char error[1024]; /** parser error */
} oal_config_t;
@ -16,6 +16,7 @@ int main(void) {
}
assert(config.bindtimeout == 5);
assert(config.debug == 1);
assert(strcmp(config.bindpass, "strong-password") == 0);
assert(strcmp(config.bindurls, "ldap://127.0.0.1 ldaps://172.16.17.1") == 0);
assert(strcmp(config.binddn, "cn=admin,dc=example,dc=com") == 0);
@ -4,6 +4,8 @@ binddn cn=admin,dc=example,dc=com
bindpass strong-password
bindtimeout 5
# another comment and empty string below
debug 5
# ^^ this is actually boolean flag: zero and non-zero
basedn ou=users,dc=example,dc=com
userfilter (objectClass=inetOrgPerson)