diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-06-18 10:38:06 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:18:26 -0500 |
commit | b4eee348c4d36e67ba83651c250366e84e7125dd (patch) | |
tree | b59a92176b422d9b23fb267e1b0f174d34e54459 /source4/libcli/ldap | |
parent | 97318cdb45f1022ca2beebbf24ab11af80c07dc2 (diff) | |
download | samba-b4eee348c4d36e67ba83651c250366e84e7125dd.tar.gz samba-b4eee348c4d36e67ba83651c250366e84e7125dd.tar.bz2 samba-b4eee348c4d36e67ba83651c250366e84e7125dd.zip |
r7720: - simplify the asn1 decode of ldap_search() a lot, taking advantage of
the fact that the ldap data structures now use ldb_message_element.
- fixed null termination of elements in ildap
(This used to be commit 09060994c1ed12073ae6e1131d7074db8fdc523c)
Diffstat (limited to 'source4/libcli/ldap')
-rw-r--r-- | source4/libcli/ldap/ldap.c | 4 | ||||
-rw-r--r-- | source4/libcli/ldap/ldap_msg.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/source4/libcli/ldap/ldap.c b/source4/libcli/ldap/ldap.c index c642fc3e4b..83858b1768 100644 --- a/source4/libcli/ldap/ldap.c +++ b/source4/libcli/ldap/ldap.c @@ -98,6 +98,9 @@ static BOOL ldap_push_filter(struct asn1_data *data, struct ldb_parse_tree *tree asn1_pop_tag(data); break; + case LDB_OP_NOT: + #warning "OP_NOT missing" + default: return False; } @@ -605,7 +608,6 @@ static void ldap_decode_attrib(TALLOC_CTX *mem_ctx, struct asn1_data *data, DATA_BLOB blob; asn1_read_OctetString(data, &blob); add_value_to_attrib(mem_ctx, &blob, attrib); - data_blob_free(&blob); } asn1_end_tag(data); asn1_end_tag(data); diff --git a/source4/libcli/ldap/ldap_msg.c b/source4/libcli/ldap/ldap_msg.c index 901c42a62a..9b531f3138 100644 --- a/source4/libcli/ldap/ldap_msg.c +++ b/source4/libcli/ldap/ldap_msg.c @@ -43,8 +43,9 @@ BOOL add_value_to_attrib(TALLOC_CTX *mem_ctx, struct ldb_val *value, if (attrib->values == NULL) return False; - attrib->values[attrib->num_values] = - data_blob_talloc(attrib->values, value->data, value->length); + attrib->values[attrib->num_values].data = talloc_steal(attrib->values, + value->data); + attrib->values[attrib->num_values].length = value->length; attrib->num_values += 1; return True; } |