*/
#define AUTHMODE_NATIVE 0 /* Native (self-contained or "black box") */
#define AUTHMODE_HOST 1 /* Authenticate against the host OS user database */
-#define AUTHMODE_LDAP 2 /* External LDAP authentication (NOT IMPLEMENTED) */
+#define AUTHMODE_LDAP 2 /* Authenticate against an LDAP server */
#ifdef __cplusplus
}
exit(CTDLEXIT_LIBCITADEL);
}
+ /* Only allow LDAP auth mode if we actually have LDAP support */
+#ifndef HAVE_LDAP
+ if (config.c_auth_mode == AUTHMODE_LDAP) {
+ fprintf(stderr, "Your system is configured for LDAP authentication,\n"
+ "but you are running a server built without OpenLDAP support.\n");
+ exit(CTDL_EXIT_UNSUP_AUTH);
+ }
+#endif
/* Check to see whether 'setup' must first be run to update data file formats */
if (config.c_setup_level < REV_MIN) {
#define CTDLEXIT_OOD 104 /* Out Of Date config - rerun setup */
#define CTDLEXIT_DB 105 /* Unable to initialize database */
#define CTDLEXIT_LIBCITADEL 106 /* Incorrect version of libcitadel */
+#define CTDL_EXIT_UNSUP_AUTH 107 /* Unsupported auth mode configured */
}
+#ifdef HAVE_LDAP
+ else if (config.c_auth_mode == AUTHMODE_LDAP) {
+
+ /* LDAP auth mode FIXME_LDAP */
+ }
+#endif
+
else {
/* native auth mode */
}
}
+#ifdef HAVE_LDAP
+ else if (config.c_auth_mode == AUTHMODE_LDAP) {
+
+ /* LDAP auth mode FIXME_LDAP */
+ }
+#endif
+
else {
/* native auth mode */
return (ERROR + NO_SUCH_USER);
}
}
+
+ /* FIXME_LDAP put something here */
if ((retval = internal_create_user(username, &usbuf, uid)) != 0)
return retval;