Author: vlendec
Date: 2004-09-01 14:49:43 +0000 (Wed, 01 Sep 2004)
New Revision: 2173

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

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

Volker

Modified:
   branches/SAMBA_4_0/source/libcli/ldap/ldap.c
   branches/SAMBA_4_0/source/libcli/util/asn1.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/ldap/ldap.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/ldap/ldap.c        2004-09-01 14:48:27 UTC (rev 
2172)
+++ branches/SAMBA_4_0/source/libcli/ldap/ldap.c        2004-09-01 14:49:43 UTC (rev 
2173)
@@ -426,7 +426,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");
@@ -565,7 +565,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,
@@ -893,7 +893,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. */
@@ -1039,7 +1039,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: branches/SAMBA_4_0/source/libcli/util/asn1.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/util/asn1.c        2004-09-01 14:48:27 UTC (rev 
2172)
+++ branches/SAMBA_4_0/source/libcli/util/asn1.c        2004-09-01 14:49:43 UTC (rev 
2173)
@@ -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);

Reply via email to