summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stefw@redhat.com>2013-04-09 22:11:34 +0200
committerStef Walter <stefw@redhat.com>2013-04-09 22:11:34 +0200
commit6f4880029a2c002395cc19d4a7558c830f143d87 (patch)
tree6731c88d8935e89ad7c458e40dcec83de43f650b
parent48166f0a3b33a5d69fc09486cc8e0f6848a48867 (diff)
Catch more permission failures when joining domain
* Windows Server returns all sorts of strange errors when permission problems for joining domain
-rw-r--r--library/adenroll.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/library/adenroll.c b/library/adenroll.c
index fd73c05..3b225ec 100644
--- a/library/adenroll.c
+++ b/library/adenroll.c
@@ -519,6 +519,9 @@ create_computer_account (adcli_enroll *enroll,
* OBJECT_CLASS_VIOLATION when the 'admin' account doesn't have
* enough permission to create this computer account.
*
+ * Additionally LDAP_UNWILLING_TO_PERFORM and LDAP_CONSTRAINT_VIOLATION
+ * are seen on various Windows Servers as responses to this case.
+ *
* TODO: Perhaps some missing attributes are auto-generated when
* the administrative credentials have sufficient permissions, and
* those missing attributes cause the object class violation. However
@@ -526,7 +529,8 @@ create_computer_account (adcli_enroll *enroll,
* attributes. They may be hidden, like unicodePwd.
*/
- if (ret == LDAP_INSUFFICIENT_ACCESS || ret == LDAP_OBJECT_CLASS_VIOLATION) {
+ if (ret == LDAP_INSUFFICIENT_ACCESS || ret == LDAP_OBJECT_CLASS_VIOLATION ||
+ ret == LDAP_UNWILLING_TO_PERFORM || ret == LDAP_CONSTRAINT_VIOLATION) {
return _adcli_ldap_handle_failure (ldap, ADCLI_ERR_CREDENTIALS,
"Insufficient permissions to modify computer account: %s",
enroll->computer_dn);