svn commit: samba r2172 - in trunk/source: lib libsmb utils

vlendec at samba.org vlendec at samba.org
Wed Sep 1 14:48:28 GMT 2004


Author: vlendec
Date: 2004-09-01 14:48:27 +0000 (Wed, 01 Sep 2004)
New Revision: 2172

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/trunk/source&rev=2172&nolog=1

Log:
Fix asn1 BOOLEANs. Thanks to Love Hornquist-Astrand.

Volker

Modified:
   trunk/source/lib/smb_ldap.c
   trunk/source/libsmb/asn1.c
   trunk/source/utils/net_ads_cldap.c


Changeset:
Modified: trunk/source/lib/smb_ldap.c
===================================================================
--- trunk/source/lib/smb_ldap.c	2004-09-01 12:46:56 UTC (rev 2171)
+++ trunk/source/lib/smb_ldap.c	2004-09-01 14:48:27 UTC (rev 2172)
@@ -822,7 +822,7 @@
 		asn1_write_enumerated(&data, r->deref);
 		asn1_write_Integer(&data, r->sizelimit);
 		asn1_write_Integer(&data, r->timelimit);
-		asn1_write_BOOLEAN2(&data, r->attributesonly);
+		asn1_write_BOOLEAN(&data, r->attributesonly);
 
 		{
 			TALLOC_CTX *mem_ctx = talloc_init("ldap_parse_tree");
@@ -961,7 +961,7 @@
 			      ASN1_APPLICATION(LDAP_TAG_ModifyDNRequest));
 		asn1_write_OctetString(&data, r->dn, strlen(r->dn));
 		asn1_write_OctetString(&data, r->newrdn, strlen(r->newrdn));
-		asn1_write_BOOLEAN2(&data, r->deleteolddn);
+		asn1_write_BOOLEAN(&data, r->deleteolddn);
 		if (r->newsuperior != NULL) {
 			asn1_push_tag(&data, ASN1_CONTEXT_SIMPLE(0));
 			asn1_write(&data, r->newsuperior,
@@ -1305,7 +1305,7 @@
 		asn1_read_enumerated(data, (int *)&(r->deref));
 		asn1_read_Integer(data, &r->sizelimit);
 		asn1_read_Integer(data, &r->timelimit);
-		asn1_read_BOOLEAN2(data, &r->attributesonly);
+		asn1_read_BOOLEAN(data, &r->attributesonly);
 
 		/* Maybe create a TALLOC_CTX for the filter? This can waste
 		 * quite a bit of memory recursing down. */
@@ -1451,7 +1451,7 @@
 			       ASN1_APPLICATION(LDAP_TAG_ModifyDNRequest));
 		asn1_read_OctetString_talloc(msg->mem_ctx, data, &r->dn);
 		asn1_read_OctetString_talloc(msg->mem_ctx, data, &r->newrdn);
-		asn1_read_BOOLEAN2(data, &r->deleteolddn);
+		asn1_read_BOOLEAN(data, &r->deleteolddn);
 		r->newsuperior = NULL;
 		if (asn1_tag_remaining(data) > 0) {
 			int len;

Modified: trunk/source/libsmb/asn1.c
===================================================================
--- trunk/source/libsmb/asn1.c	2004-09-01 12:46:56 UTC (rev 2171)
+++ trunk/source/libsmb/asn1.c	2004-09-01 14:48:27 UTC (rev 2172)
@@ -221,22 +221,13 @@
 /* write a BOOLEAN */
 BOOL asn1_write_BOOLEAN(ASN1_DATA *data, BOOL v)
 {
-	asn1_write_uint8(data, ASN1_BOOLEAN);
-	asn1_write_uint8(data, v);
-	return !data->has_error;
-}
-
-/* write a BOOLEAN - hmm, I suspect this one is the correct one, and the 
-   above boolean is bogus. Need to check */
-BOOL asn1_write_BOOLEAN2(ASN1_DATA *data, BOOL v)
-{
 	asn1_push_tag(data, ASN1_BOOLEAN);
-	asn1_write_uint8(data, v);
+	asn1_write_uint8(data, v ? 0xFF : 0);
 	asn1_pop_tag(data);
 	return !data->has_error;
 }
 
-BOOL asn1_read_BOOLEAN2(ASN1_DATA *data, BOOL *v)
+BOOL asn1_read_BOOLEAN(ASN1_DATA *data, BOOL *v)
 {
 	asn1_start_tag(data, ASN1_BOOLEAN);
 	asn1_read_uint8(data, (uint8 *)v);

Modified: trunk/source/utils/net_ads_cldap.c
===================================================================
--- trunk/source/utils/net_ads_cldap.c	2004-09-01 12:46:56 UTC (rev 2171)
+++ trunk/source/utils/net_ads_cldap.c	2004-09-01 14:48:27 UTC (rev 2172)
@@ -139,7 +139,7 @@
 	asn1_write_enumerated(&data, 0);
 	asn1_write_Integer(&data, 0);
 	asn1_write_Integer(&data, 0);
-	asn1_write_BOOLEAN2(&data, False);
+	asn1_write_BOOLEAN(&data, False);
 	asn1_push_tag(&data, ASN1_CONTEXT(0));
 
 	asn1_push_tag(&data, ASN1_CONTEXT(3));



More information about the samba-cvs mailing list