diff options
author | Simon Rettberg | 2016-02-19 10:12:50 +0100 |
---|---|---|
committer | Simon Rettberg | 2016-02-19 10:12:50 +0100 |
commit | e27569e63c64c92447edc7e6827b121f87e01a87 (patch) | |
tree | 3fa25bcc8d5d58163e448684a655f44709fc41fc /server.c | |
parent | Remove debug messages (diff) | |
download | ldadp-e27569e63c64c92447edc7e6827b121f87e01a87.tar.gz ldadp-e27569e63c64c92447edc7e6827b121f87e01a87.tar.xz ldadp-e27569e63c64c92447edc7e6827b121f87e01a87.zip |
Configurable name of homeDirectory attribute
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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); |