summaryrefslogtreecommitdiff
path: root/source4/libcli/ldap
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-08-05 19:50:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:15:24 -0500
commit3a083f8f53b998b6aabf69e845fd0fbdf86b6499 (patch)
tree2e5cd598866d1707c9858fe6cf43fb6a70a4bc3d /source4/libcli/ldap
parent12050962f6dd37819e58e1e0b572c159f0406f7a (diff)
downloadsamba-3a083f8f53b998b6aabf69e845fd0fbdf86b6499.tar.gz
samba-3a083f8f53b998b6aabf69e845fd0fbdf86b6499.tar.bz2
samba-3a083f8f53b998b6aabf69e845fd0fbdf86b6499.zip
r17430: implement the LDAP_SERVER_PERMISSIVE_MODIFY control in the client
metze (This used to be commit 96259f0f24b114e505241c9d2deb702a8b40f1b6)
Diffstat (limited to 'source4/libcli/ldap')
-rw-r--r--source4/libcli/ldap/ldap_controls.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source4/libcli/ldap/ldap_controls.c b/source4/libcli/ldap/ldap_controls.c
index 75af597c33..5cd0451136 100644
--- a/source4/libcli/ldap/ldap_controls.c
+++ b/source4/libcli/ldap/ldap_controls.c
@@ -428,6 +428,15 @@ static BOOL decode_show_deleted_request(void *mem_ctx, DATA_BLOB in, void **out)
return True;
}
+static BOOL decode_permissive_modify_request(void *mem_ctx, DATA_BLOB in, void **out)
+{
+ if (in.length != 0) {
+ return False;
+ }
+
+ return True;
+}
+
static BOOL decode_manageDSAIT_request(void *mem_ctx, DATA_BLOB in, void **out)
{
if (in.length != 0) {
@@ -898,6 +907,16 @@ static BOOL encode_show_deleted_request(void *mem_ctx, void *in, DATA_BLOB *out)
return True;
}
+static BOOL encode_permissive_modify_request(void *mem_ctx, void *in, DATA_BLOB *out)
+{
+ if (in) {
+ return False;
+ }
+
+ *out = data_blob(NULL, 0);
+ return True;
+}
+
static BOOL encode_manageDSAIT_request(void *mem_ctx, void *in, DATA_BLOB *out)
{
if (in) {
@@ -1033,6 +1052,7 @@ struct control_handler ldap_known_controls[] = {
{ "1.2.840.113556.1.4.841", decode_dirsync_request, encode_dirsync_request },
{ "1.2.840.113556.1.4.528", decode_notification_request, encode_notification_request },
{ "1.2.840.113556.1.4.417", decode_show_deleted_request, encode_show_deleted_request },
+ { "1.2.840.113556.1.4.1413", decode_permissive_modify_request, encode_permissive_modify_request },
{ "1.2.840.113556.1.4.801", decode_sd_flags_request, encode_sd_flags_request },
{ "1.2.840.113556.1.4.1339", decode_domain_scope_request, encode_domain_scope_request },
{ "1.2.840.113556.1.4.1340", decode_search_options_request, encode_search_options_request },