svn commit: samba r2747 - in branches/SAMBA_4_0/source/libcli/ldap: .

metze at samba.org metze at samba.org
Wed Sep 29 12:18:06 GMT 2004


Author: metze
Date: 2004-09-29 12:18:06 +0000 (Wed, 29 Sep 2004)
New Revision: 2747

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/libcli/ldap&rev=2747&nolog=1

Log:
use DATA_BLOB for attribute values

en/decode CompareRequest/Response correct

metze

Modified:
   branches/SAMBA_4_0/source/libcli/ldap/ldap.c
   branches/SAMBA_4_0/source/libcli/ldap/ldap.h


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/ldap/ldap.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/ldap/ldap.c	2004-09-29 09:56:35 UTC (rev 2746)
+++ branches/SAMBA_4_0/source/libcli/ldap/ldap.c	2004-09-29 12:18:06 UTC (rev 2747)
@@ -589,14 +589,15 @@
 		asn1_push_tag(&data, ASN1_SEQUENCE(0));
 		asn1_write_OctetString(&data, r->attribute,
 				       strlen(r->attribute));
-		asn1_write_OctetString(&data, r->value,
-				       strlen(r->value));
+		asn1_write_OctetString(&data, r->value.data,
+				       r->value.length);
 		asn1_pop_tag(&data);
 		asn1_pop_tag(&data);
 		break;
 	}
 	case LDAP_TAG_CompareResponse: {
-/*		struct ldap_Result *r = &msg->r.CompareResponse; */
+		struct ldap_Result *r = &msg->r.ModifyDNResponse;
+		ldap_encode_response(msg->type, r, &data);
 		break;
 	}
 	case LDAP_TAG_AbandonRequest: {
@@ -1070,8 +1071,19 @@
 	}
 
 	case ASN1_APPLICATION(LDAP_TAG_CompareRequest): {
-/*		struct ldap_CompareRequest *r = &msg->r.CompareRequest; */
+		struct ldap_CompareRequest *r = &msg->r.CompareRequest;
 		msg->type = LDAP_TAG_CompareRequest;
+		asn1_start_tag(data,
+			       ASN1_APPLICATION(LDAP_TAG_CompareRequest));
+		asn1_read_OctetString_talloc(msg->mem_ctx, data, &r->dn);
+		asn1_start_tag(data, ASN1_SEQUENCE(0));
+		asn1_read_OctetString_talloc(msg->mem_ctx, data, &r->attribute);
+		asn1_read_OctetString(data, &r->value);
+		if (r->value.data) {
+			talloc_steal(msg->mem_ctx, r->value.data);
+		}
+		asn1_end_tag(data);
+		asn1_end_tag(data);
 		break;
 	}
 

Modified: branches/SAMBA_4_0/source/libcli/ldap/ldap.h
===================================================================
--- branches/SAMBA_4_0/source/libcli/ldap/ldap.h	2004-09-29 09:56:35 UTC (rev 2746)
+++ branches/SAMBA_4_0/source/libcli/ldap/ldap.h	2004-09-29 12:18:06 UTC (rev 2747)
@@ -169,7 +169,7 @@
 struct ldap_CompareRequest {
 	const char *dn;
 	const char *attribute;
-	const char *value;
+	DATA_BLOB value;
 };
 
 struct ldap_AbandonRequest {



More information about the samba-cvs mailing list