summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-10-23 12:07:08 +0200
committerSimon Rettberg2015-10-23 12:07:08 +0200
commit87d9e62bcc0915b8cf6cf2a4b687d30026662a31 (patch)
tree56ce6f8d7d6e3314f6140ac88af08661a95917e5
parentAlways load default verify locations too when using cert validation. Also qui... (diff)
downloadldadp-87d9e62bcc0915b8cf6cf2a4b687d30026662a31.tar.gz
ldadp-87d9e62bcc0915b8cf6cf2a4b687d30026662a31.tar.xz
ldadp-87d9e62bcc0915b8cf6cf2a4b687d30026662a31.zip
Fix homeMount handling in LDAP-LDAP mode
-rw-r--r--proxy.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/proxy.c b/proxy.c
index 8c3fee6..4246381 100644
--- a/proxy.c
+++ b/proxy.c
@@ -504,6 +504,8 @@ static BOOL request_replaceAttributeLdap(server_t *server, struct string *attrib
// If uid is of format s[0-9]+, we assume that it's a numeric account name, as a workaround
if (value == NULL) return FALSE;
fixUnNumeric(value);
+ } else if (iequals(attribute, &s_homemount)) {
+ if (attr != NULL) attr->homeMount = TRUE;
}
return TRUE;
}
@@ -753,13 +755,12 @@ static void response_replacePalLdap(server_t *server, struct PartialAttributeLis
elifDELATTR(cn);
elifDEL(memberOf);
else if (iequals(&(*pal)->type, &s_homedirectory)) {
- // homeDirectory is set in AD - it can either be a local path (in which case it's useless)
- // or a UNC path, which we can easily mount via mount.cifs
- if (response_filterHomeDir(*pal)) {
- attr->homeMount = FALSE;
- attr->homeDirectory = TRUE;
- } else if(response_filterLocalHomeDir(*pal)) {
+ // homeDirectory is set in LDAP - use if it's a local path
+ if(response_filterLocalHomeDir(*pal)) {
attr->homeDirectory = FALSE;
+ } else {
+ next = (*pal)->next;
+ del = TRUE;
}
}
// Entry should be removed, free structs