/*
Unix SMB/CIFS mplementation.
LDAP protocol helper functions for SAMBA
Copyright (C) Andrew Tridgell 2005
Copyright (C) Volker Lendecke 2004
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include "includes.h"
#include "libcli/ldap/ldap.h"
#include "libcli/ldap/ldap_client.h"
struct ldap_message *new_ldap_message(TALLOC_CTX *mem_ctx)
{
return talloc_zero(mem_ctx, struct ldap_message);
}
bool add_value_to_attrib(TALLOC_CTX *mem_ctx, struct ldb_val *value,
struct ldb_message_element *attrib)
{
attrib->values = talloc_realloc(mem_ctx,
attrib->values,
DATA_BLOB,
attrib->num_values+1);
if (attrib->values == NULL)
return false;
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;
}
bool add_attrib_to_array_talloc(TALLOC_CTX *mem_ctx,
const struct ldb_message_element *attrib,
struct ldb_message_element **attribs,
int *num_attribs)
{
*attribs = talloc_realloc(mem_ctx,
*attribs,
struct ldb_message_element,
*num_attribs+1);
if (*attribs == NULL)
return false;
(*attribs)[*num_attribs] = *attrib;
talloc_steal(*attribs, attrib->values);
talloc_steal(*attribs, attrib->name);
*num_attribs += 1;
return true;
}
bool add_mod_to_array_talloc(TALLOC_CTX *mem_ctx,
struct ldap_mod *mod,
struct ldap_mod **mods,
int *num_mods)
{
*mods = talloc_realloc(mem_ctx, *mods, struct ldap_mod, (*num_mods)+1);
if (*mods == NULL)
return false;
(*mods)[*num_mods] = *mod;
*num_mods += 1;
return true;
}
6")V,B{}^!r!Sh) Ñ]{! &(U7a{IyTNM2TjEw|aƞZLR7&|g2E=)J#w EDQx%v̥ ̇1
ڣ8d˺<-Ĕ3f kuECa0]iV-%*
NWm+D|7"~֖q8nXVw0 0n-X uP V7
gwCH%+d\?#Rtl uMR1L`t_υ3kdM?v"`Zs`lJ^^ThߧG驐fgYO]?CSP9*_Lb*P
tX+N1P#^bl,qdTq
0wunؾ"L]QҟIӿUVk3hqC.`R@}Xժֈ91s=E0,>] eP`/+3_]8$;b<̏IEj"yF~vلbwuuCwW>rtB{C\k`47 uxoxx6HHq3/E5Z챃.?+/N z&y/@cvh||Mp/q0\&CͲߊDf{9Q0ŅKB$_Z%LSuMaފ]g);l/c>`ݛ\?qp.!GYno'r:]ui8p|Uq'cnˮ۷># ƞThww8=%b.`Oԡ,$xb[ɸ^?!Nk㨯QWaK`7:$&Eō`T3y\"|X̅
l_]"0nvT~H&Wr
nTvJ}+dmu;݆FOoĄG'$B1cdh4DLӶva$m|e :FtsEUj@ޯDiHY̿uF9ǠIw B"XwƧTb0Ye)DԮ0HMMhE/Ev:=0h~$v^v'M>v i')aAƲ"P`ҏP힚Jjhvܵ+O'Y#<9ր?S$?cg=+FP>Qy3.zb'[
t,O.28_Nl QlOЋ>} s*xwpTE
@"䜒G$.};|X0&"Ҡ&5`=2b`|a@\?14KPwjUD"bSYx7To%zPsf̫+<^xvAe˔)ĉw<{ E]g0l W,</.̥)!
ZޫJNnl&.=1lSf
MK2ev kt89)QTpaT;[I mn=kݭT0;(nKCM5/QCȣh`yLf<2o>㫩QRYk%;CbAH9lR;&7=,́=driȝh>{n9qJfŘ39lWpX'p☎]H(pys?SbY[}
^iMduS7i)nEͯ ̍.U2ָp~)
"]
YA\YWNȎxk=n=OI+~Vw01sEPFX;vs_-dz<
+şai4,N[&Qjd WT
AR%ao|y7k[0$zKxs
z,U%F
X,3KUxYv]W<