summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorSimon Rettberg2016-02-19 10:12:50 +0100
committerSimon Rettberg2016-02-19 10:12:50 +0100
commite27569e63c64c92447edc7e6827b121f87e01a87 (patch)
tree3fa25bcc8d5d58163e448684a655f44709fc41fc /server.c
parentRemove debug messages (diff)
downloadldadp-e27569e63c64c92447edc7e6827b121f87e01a87.tar.gz
ldadp-e27569e63c64c92447edc7e6827b121f87e01a87.tar.xz
ldadp-e27569e63c64c92447edc7e6827b121f87e01a87.zip
Configurable name of homeDirectory attribute
Diffstat (limited to 'server.c')
-rw-r--r--server.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/server.c b/server.c
index 6382b31..13d72c8 100644
--- a/server.c
+++ b/server.c
@@ -12,6 +12,7 @@
#include <errno.h>
#include <socket.h>
#include <fcntl.h>
+#include <ctype.h>
#define AD_PORT 3268
#define AD_PORT_SSL 636
@@ -121,6 +122,19 @@ void server_setHomeTemplate(const char *server, const char *hometemplate)
if (count > 5) printf("WARNING: Too many '%%' in Home Template for %s. Don't forget to replace literal '%%' with '%%%%'\n", server);
}
+void server_setHomeAttribute(const char *server, const char *homeattribute)
+{
+ server_t *entry = server_create(server);
+ if (entry == NULL || entry->sslContext != NULL) return;
+ free((void*)entry->homeAttr.s);
+ entry->homeAttr.l = strlen(homeattribute);
+ char *tmp = strdup(homeattribute);
+ for (size_t i = 0; i < entry->homeAttr.l; ++i) {
+ tmp[i] = tolower(tmp[i]);
+ }
+ entry->homeAttr.s = tmp;
+}
+
void server_setFingerprint(const char *server, const char *fingerprint)
{
server_t *entry = server_create(server);