[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha3-268-gb7c96e0
Simo Sorce
idra at samba.org
Mon Apr 21 23:59:18 GMT 2008
The branch, v4-0-test has been updated
via b7c96e0cc270bd3b1c9bd117a22df3f657b6acd5 (commit)
via c16d1d430a0f1e3643c1e769b10e9d88b4719d17 (commit)
via 3045d391626fba169aa26be52174883e18d323e9 (commit)
from ca7e4d9166a7cb10495cf3ecd9c4e72103fbec30 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit b7c96e0cc270bd3b1c9bd117a22df3f657b6acd5
Author: Simo Sorce <idra at samba.org>
Date: Mon Apr 21 19:53:29 2008 -0400
Make sure we have an event context available
commit c16d1d430a0f1e3643c1e769b10e9d88b4719d17
Author: Simo Sorce <idra at samba.org>
Date: Mon Apr 21 19:53:15 2008 -0400
Fix build
commit 3045d391626fba169aa26be52174883e18d323e9
Author: Simo Sorce <idra at samba.org>
Date: Mon Apr 21 17:58:23 2008 -0400
Remove more event_context_init() uses from function calls within deep down the code.
Make sure we pass around the event_context where we need it instead.
All test but a few python ones fail. Jelmer promised to fix them.
-----------------------------------------------------------------------
Summary of changes:
source/auth/gensec/gensec.c | 22 +++----------
source/client/cifsdd.c | 17 +++++++----
source/client/cifsdd.h | 2 +
source/client/cifsddio.c | 12 +++++--
source/client/client.c | 46 +++++++++++++++++++++-------
source/dsdb/samdb/samdb.c | 7 ++++
source/lib/events/events.c | 2 +
source/lib/ldb/ldb_ildap/ldb_ildap.c | 16 ++++++++-
source/lib/ldb_wrap.c | 2 +-
source/lib/messaging/messaging.c | 8 ++--
source/lib/socket/testsuite.c | 2 +-
source/libcli/cldap/cldap.c | 6 +---
source/libcli/cliconnect.c | 5 ++-
source/libcli/composite/composite.c | 6 +++-
source/libcli/dgram/dgramsocket.c | 6 +---
source/libcli/ldap/ldap_bind.c | 5 ++-
source/libcli/ldap/ldap_client.c | 12 ++-----
source/libcli/nbt/nbtsocket.c | 6 +---
source/libcli/raw/clisocket.c | 22 ++++----------
source/libcli/resolve/host.c | 1 -
source/libcli/resolve/nbtlist.c | 3 +-
source/libcli/resolve/resolve.c | 13 ++-----
source/libcli/smb_composite/connect.c | 8 ++---
source/libcli/smb_composite/fetchfile.c | 2 -
source/libcli/smb_composite/fsinfo.c | 2 -
source/libcli/wrepl/winsrepl.c | 6 +---
source/libnet/libnet_site.c | 8 ++--
source/librpc/rpc/dcerpc.c | 15 ++-------
source/librpc/rpc/dcerpc_connect.c | 15 ---------
source/rpc_server/spoolss/dcesrv_spoolss.c | 3 +-
source/torture/auth/ntlmssp.c | 6 ++-
source/torture/basic/base.c | 3 +-
source/torture/gentest.c | 33 ++++++++++++--------
source/torture/ldap/cldap.c | 8 ++++-
source/torture/ldap/cldapbench.c | 4 ++-
source/torture/ldap/common.c | 2 +-
source/torture/libnet/libnet_domain.c | 4 +-
source/torture/locktest.c | 26 ++++++++++-----
source/torture/locktest2.c | 26 +++++++++++-----
source/torture/masktest.c | 9 ++++-
source/torture/nbt/browse.c | 2 +-
source/torture/nbt/dgram.c | 6 ++--
source/torture/nbt/nbt.c | 2 +-
source/torture/nbt/query.c | 2 +-
source/torture/nbt/register.c | 4 +-
source/torture/nbt/wins.c | 2 +-
source/torture/nbt/winsbench.c | 2 +-
source/torture/nbt/winsreplication.c | 18 +++++-----
source/torture/raw/composite.c | 4 +-
source/torture/raw/lookuprate.c | 1 +
source/torture/rpc/dssync.c | 10 +++---
source/torture/rpc/join.c | 4 +-
source/torture/rpc/rpc.c | 8 ++--
source/torture/rpc/samba3rpc.c | 12 ++++----
source/torture/rpc/samlogon.c | 2 +-
source/torture/rpc/samsync.c | 4 +-
source/torture/rpc/schannel.c | 10 +++---
source/torture/rpc/session_key.c | 6 +++-
source/torture/unix/unix_info2.c | 4 +-
source/torture/unix/whoami.c | 2 +-
source/utils/nmblookup.c | 14 ++++++--
source/utils/ntlm_auth.c | 10 +++---
62 files changed, 283 insertions(+), 247 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/auth/gensec/gensec.c b/source/auth/gensec/gensec.c
index 59ad157..c82b719 100644
--- a/source/auth/gensec/gensec.c
+++ b/source/auth/gensec/gensec.c
@@ -482,6 +482,11 @@ static NTSTATUS gensec_start(TALLOC_CTX *mem_ctx,
struct messaging_context *msg,
struct gensec_security **gensec_security)
{
+ if (ev == NULL) {
+ DEBUG(0, ("No event context available!\n"));
+ return NT_STATUS_INTERNAL_ERROR;
+ }
+
(*gensec_security) = talloc(mem_ctx, struct gensec_security);
NT_STATUS_HAVE_NO_MEMORY(*gensec_security);
@@ -493,14 +498,6 @@ static NTSTATUS gensec_start(TALLOC_CTX *mem_ctx,
(*gensec_security)->subcontext = false;
(*gensec_security)->want_features = 0;
-
- if (ev == NULL) {
- ev = event_context_init(*gensec_security);
- if (ev == NULL) {
- talloc_free(*gensec_security);
- return NT_STATUS_NO_MEMORY;
- }
- }
(*gensec_security)->event_ctx = ev;
(*gensec_security)->msg_ctx = msg;
@@ -548,20 +545,11 @@ _PUBLIC_ NTSTATUS gensec_client_start(TALLOC_CTX *mem_ctx,
struct loadparm_context *lp_ctx)
{
NTSTATUS status;
- struct event_context *new_ev = NULL;
-
- if (ev == NULL) {
- new_ev = event_context_init(mem_ctx);
- NT_STATUS_HAVE_NO_MEMORY(new_ev);
- ev = new_ev;
- }
status = gensec_start(mem_ctx, ev, lp_ctx, NULL, gensec_security);
if (!NT_STATUS_IS_OK(status)) {
- talloc_free(new_ev);
return status;
}
- talloc_steal((*gensec_security), new_ev);
(*gensec_security)->gensec_role = GENSEC_CLIENT;
return status;
diff --git a/source/client/cifsdd.c b/source/client/cifsdd.c
index 8e25dab..ce48c7b 100644
--- a/source/client/cifsdd.c
+++ b/source/client/cifsdd.c
@@ -24,6 +24,7 @@
#include "lib/cmdline/popt_common.h"
#include "libcli/resolve/resolve.h"
#include "libcli/raw/libcliraw.h"
+#include "lib/events/events.h"
#include "cifsdd.h"
#include "param/param.h"
@@ -354,6 +355,7 @@ static void print_transfer_stats(void)
}
static struct dd_iohandle * open_file(struct resolve_context *resolve_ctx,
+ struct event_context *ev,
const char * which, const char **ports,
struct smbcli_options *smb_options)
{
@@ -375,13 +377,13 @@ static struct dd_iohandle * open_file(struct resolve_context *resolve_ctx,
if (strcmp(which, "if") == 0) {
path = check_arg_pathname("if");
- handle = dd_open_path(resolve_ctx, path, ports,
+ handle = dd_open_path(resolve_ctx, ev, path, ports,
check_arg_numeric("ibs"), options,
smb_options);
} else if (strcmp(which, "of") == 0) {
options |= DD_WRITE;
path = check_arg_pathname("of");
- handle = dd_open_path(resolve_ctx, path, ports,
+ handle = dd_open_path(resolve_ctx, ev, path, ports,
check_arg_numeric("obs"), options,
smb_options);
} else {
@@ -396,7 +398,7 @@ static struct dd_iohandle * open_file(struct resolve_context *resolve_ctx,
return(handle);
}
-static int copy_files(struct loadparm_context *lp_ctx)
+static int copy_files(struct event_context *ev, struct loadparm_context *lp_ctx)
{
uint8_t * iobuf; /* IO buffer. */
uint64_t iomax; /* Size of the IO buffer. */
@@ -433,12 +435,12 @@ static int copy_files(struct loadparm_context *lp_ctx)
DEBUG(4, ("IO buffer size is %llu, max xmit is %d\n",
(unsigned long long)iomax, options.max_xmit));
- if (!(ifile = open_file(lp_resolve_context(lp_ctx), "if",
+ if (!(ifile = open_file(lp_resolve_context(lp_ctx), ev, "if",
lp_smb_ports(lp_ctx), &options))) {
return(FILESYS_EXIT_CODE);
}
- if (!(ofile = open_file(lp_resolve_context(lp_ctx), "of",
+ if (!(ofile = open_file(lp_resolve_context(lp_ctx), ev, "of",
lp_smb_ports(lp_ctx), &options))) {
return(FILESYS_EXIT_CODE);
}
@@ -528,6 +530,7 @@ int main(int argc, const char ** argv)
{
int i;
const char ** dd_args;
+ struct event_context *ev;
poptContext pctx;
struct poptOption poptions[] = {
@@ -578,6 +581,8 @@ int main(int argc, const char ** argv)
}
}
+ ev = event_context_init(talloc_autofree_context());
+
gensec_init(cmdline_lp_ctx);
dump_args();
@@ -599,7 +604,7 @@ int main(int argc, const char ** argv)
CatchSignal(SIGINT, dd_handle_signal);
CatchSignal(SIGUSR1, dd_handle_signal);
- return(copy_files(cmdline_lp_ctx));
+ return(copy_files(ev, cmdline_lp_ctx));
}
/* vim: set sw=8 sts=8 ts=8 tw=79 : */
diff --git a/source/client/cifsdd.h b/source/client/cifsdd.h
index 810c882..21a4ad4 100644
--- a/source/client/cifsdd.h
+++ b/source/client/cifsdd.h
@@ -89,8 +89,10 @@ struct dd_iohandle
#define DD_OPLOCK 0x00000008
struct smbcli_options;
+struct event_context;
struct dd_iohandle * dd_open_path(struct resolve_context *resolve_ctx,
+ struct event_context *ev,
const char * path,
const char **ports,
uint64_t io_size, int options,
diff --git a/source/client/cifsddio.c b/source/client/cifsddio.c
index 7028e85..4297c30 100644
--- a/source/client/cifsddio.c
+++ b/source/client/cifsddio.c
@@ -221,6 +221,7 @@ static bool smb_write_func(void * handle, uint8_t * buf, uint64_t wanted,
}
static struct smbcli_state * init_smb_session(struct resolve_context *resolve_ctx,
+ struct event_context *ev,
const char * host,
const char **ports,
const char * share,
@@ -233,8 +234,9 @@ static struct smbcli_state * init_smb_session(struct resolve_context *resolve_ct
* each connection, but for now, we just use the same one for both.
*/
ret = smbcli_full_connection(NULL, &cli, host, ports, share,
- NULL /* devtype */, cmdline_credentials, resolve_ctx,
- NULL /* events */, options);
+ NULL /* devtype */,
+ cmdline_credentials, resolve_ctx,
+ ev, options);
if (!NT_STATUS_IS_OK(ret)) {
fprintf(stderr, "%s: connecting to //%s/%s: %s\n",
@@ -293,6 +295,7 @@ static int open_smb_file(struct smbcli_state * cli,
}
static struct dd_iohandle * open_cifs_handle(struct resolve_context *resolve_ctx,
+ struct event_context *ev,
const char * host,
const char **ports,
const char * share,
@@ -319,7 +322,7 @@ static struct dd_iohandle * open_cifs_handle(struct resolve_context *resolve_ctx
smbh->h.io_write = smb_write_func;
smbh->h.io_seek = smb_seek_func;
- if ((smbh->cli = init_smb_session(resolve_ctx, host, ports, share,
+ if ((smbh->cli = init_smb_session(resolve_ctx, ev, host, ports, share,
smb_options)) == NULL) {
return(NULL);
}
@@ -336,6 +339,7 @@ static struct dd_iohandle * open_cifs_handle(struct resolve_context *resolve_ctx
/* ------------------------------------------------------------------------- */
struct dd_iohandle * dd_open_path(struct resolve_context *resolve_ctx,
+ struct event_context *ev,
const char * path,
const char **ports,
uint64_t io_size,
@@ -355,7 +359,7 @@ struct dd_iohandle * dd_open_path(struct resolve_context *resolve_ctx,
/* Skip over leading directory separators. */
while (*remain == '/' || *remain == '\\') { remain++; }
- return(open_cifs_handle(resolve_ctx, host, ports,
+ return(open_cifs_handle(resolve_ctx, ev, host, ports,
share, remain,
io_size, options, smb_options));
}
diff --git a/source/client/client.c b/source/client/client.c
index ef88913..79cc1b5 100644
--- a/source/client/client.c
+++ b/source/client/client.c
@@ -2546,7 +2546,9 @@ static void display_share_result(struct srvsvc_NetShareCtr1 *ctr1)
/****************************************************************************
try and browse available shares on a host
****************************************************************************/
-static bool browse_host(struct loadparm_context *lp_ctx, const char *query_host)
+static bool browse_host(struct loadparm_context *lp_ctx,
+ struct event_context *ev_ctx,
+ const char *query_host)
{
struct dcerpc_pipe *p;
char *binding;
@@ -2560,7 +2562,7 @@ static bool browse_host(struct loadparm_context *lp_ctx, const char *query_host)
status = dcerpc_pipe_connect(mem_ctx, &p, binding,
&ndr_table_srvsvc,
- cmdline_credentials, NULL,
+ cmdline_credentials, ev_ctx,
lp_ctx);
if (!NT_STATUS_IS_OK(status)) {
d_printf("Failed to connect to %s - %s\n",
@@ -3022,6 +3024,7 @@ static int process_stdin(struct smbclient_context *ctx)
return a connection to a server
*******************************************************/
static bool do_connect(struct smbclient_context *ctx,
+ struct event_context *ev_ctx,
struct resolve_context *resolve_ctx,
const char *specified_server, const char **ports,
const char *specified_share,
@@ -3045,8 +3048,7 @@ static bool do_connect(struct smbclient_context *ctx,
status = smbcli_full_connection(ctx, &ctx->cli, server, ports,
share, NULL, cred, resolve_ctx,
- event_context_init(NULL),
- options);
+ ev_ctx, options);
if (!NT_STATUS_IS_OK(status)) {
d_printf("Connection to \\\\%s\\%s failed - %s\n",
server, share, nt_errstr(status));
@@ -3060,9 +3062,12 @@ static bool do_connect(struct smbclient_context *ctx,
/****************************************************************************
handle a -L query
****************************************************************************/
-static int do_host_query(struct loadparm_context *lp_ctx, const char *query_host, const char *workgroup)
+static int do_host_query(struct loadparm_context *lp_ctx,
+ struct event_context *ev_ctx,
+ const char *query_host,
+ const char *workgroup)
{
- browse_host(lp_ctx, query_host);
+ browse_host(lp_ctx, ev_ctx, query_host);
list_servers(workgroup);
return(0);
}
@@ -3071,7 +3076,12 @@ static int do_host_query(struct loadparm_context *lp_ctx, const char *query_host
/****************************************************************************
handle a message operation
****************************************************************************/
-static int do_message_op(const char *netbios_name, const char *desthost, const char **destports, const char *destip, int name_type, struct resolve_context *resolve_ctx, struct smbcli_options *options)
+static int do_message_op(const char *netbios_name, const char *desthost,
+ const char **destports, const char *destip,
+ int name_type,
+ struct event_context *ev_ctx,
+ struct resolve_context *resolve_ctx,
+ struct smbcli_options *options)
{
struct nbt_name called, calling;
const char *server_name;
@@ -3083,7 +3093,9 @@ static int do_message_op(const char *netbios_name, const char *desthost, const c
server_name = destip ? destip : desthost;
- if (!(cli=smbcli_state_init(NULL)) || !smbcli_socket_connect(cli, server_name, destports, resolve_ctx, options)) {
+ if (!(cli = smbcli_state_init(NULL)) ||
+ !smbcli_socket_connect(cli, server_name, destports,
+ ev_ctx, resolve_ctx, options)) {
d_printf("Connection to %s failed\n", server_name);
return 1;
}
@@ -3124,6 +3136,7 @@ static int do_message_op(const char *netbios_name, const char *desthost, const c
int rc = 0;
int name_type = 0x20;
TALLOC_CTX *mem_ctx;
+ struct event_context *ev_ctx;
struct smbclient_context *ctx;
const char *cmdstr = NULL;
struct smbcli_options smb_options;
@@ -3221,6 +3234,8 @@ static int do_message_op(const char *netbios_name, const char *desthost, const c
lp_smbcli_options(cmdline_lp_ctx, &smb_options);
+ ev_ctx = event_context_init(talloc_autofree_context());
+
DEBUG( 3, ( "Client started (version %s).\n", SAMBA_VERSION_STRING ) );
if (query_host && (p=strchr_m(query_host,'#'))) {
@@ -3230,14 +3245,23 @@ static int do_message_op(const char *netbios_name, const char *desthost, const c
}
if (query_host) {
- return do_host_query(cmdline_lp_ctx, query_host, lp_workgroup(cmdline_lp_ctx));
+ rc = do_host_query(cmdline_lp_ctx, ev_ctx, query_host,
+ lp_workgroup(cmdline_lp_ctx));
+ return rc;
}
if (message) {
- return do_message_op(lp_netbios_name(cmdline_lp_ctx), desthost, lp_smb_ports(cmdline_lp_ctx), dest_ip, name_type, lp_resolve_context(cmdline_lp_ctx), &smb_options);
+ rc = do_message_op(lp_netbios_name(cmdline_lp_ctx), desthost,
+ lp_smb_ports(cmdline_lp_ctx), dest_ip,
+ name_type, ev_ctx,
+ lp_resolve_context(cmdline_lp_ctx),
+ &smb_options);
+ return rc;
}
- if (!do_connect(ctx, lp_resolve_context(cmdline_lp_ctx), desthost, lp_smb_ports(cmdline_lp_ctx), service, cmdline_credentials, &smb_options))
+ if (!do_connect(ctx, ev_ctx, lp_resolve_context(cmdline_lp_ctx),
+ desthost, lp_smb_ports(cmdline_lp_ctx), service,
+ cmdline_credentials, &smb_options))
return 1;
if (base_directory)
diff --git a/source/dsdb/samdb/samdb.c b/source/dsdb/samdb/samdb.c
index 4af7fb7..9154f53 100644
--- a/source/dsdb/samdb/samdb.c
+++ b/source/dsdb/samdb/samdb.c
@@ -37,6 +37,7 @@
#include "dsdb/samdb/samdb.h"
#include "dsdb/common/flags.h"
#include "param/param.h"
+#include "lib/events/events.h"
char *samdb_relative_path(struct ldb_context *ldb,
TALLOC_CTX *mem_ctx,
@@ -116,6 +117,12 @@ int samdb_copy_template(struct ldb_context *ldb,
event_ctx = (struct event_context *)ldb_get_opaque(ldb, "EventContext");
lp_ctx = (struct loadparm_context *)ldb_get_opaque(ldb, "loadparm");
+ /* FIXME: need to remove this wehn we finally pass the event
+ * context around in ldb */
+ if (event_ctx == NULL) {
+ event_ctx = event_context_init(templates_ldb);
+ }
+
templates_ldb = ldb_wrap_connect(ldb, event_ctx, lp_ctx,
templates_ldb_path, NULL,
NULL, 0, NULL);
diff --git a/source/lib/events/events.c b/source/lib/events/events.c
index 568aadc..252af44 100644
--- a/source/lib/events/events.c
+++ b/source/lib/events/events.c
@@ -207,6 +207,8 @@ struct event_context *event_context_init_byname(TALLOC_CTX *mem_ctx, const char
*/
struct event_context *event_context_init(TALLOC_CTX *mem_ctx)
{
+ DEBUG(0, ("New event context requested. Parent: [%s:%p]\n",
+ mem_ctx?talloc_get_name(mem_ctx):"NULL", mem_ctx));
return event_context_init_byname(mem_ctx, NULL);
}
diff --git a/source/lib/ldb/ldb_ildap/ldb_ildap.c b/source/lib/ldb/ldb_ildap/ldb_ildap.c
index 79958a8..6b50b2f 100644
--- a/source/lib/ldb/ldb_ildap/ldb_ildap.c
+++ b/source/lib/ldb/ldb_ildap/ldb_ildap.c
@@ -737,6 +737,7 @@ static int ildb_connect(struct ldb_context *ldb, const char *url,
struct ildb_private *ildb;
NTSTATUS status;
struct cli_credentials *creds;
+ struct event_context *event_ctx;
module = talloc(ldb, struct ldb_module);
if (!module) {
@@ -756,8 +757,19 @@ static int ildb_connect(struct ldb_context *ldb, const char *url,
}
module->private_data = ildb;
ildb->module = module;
- ildb->ldap = ldap4_new_connection(ildb, ldb_get_opaque(ldb, "loadparm"),
- ldb_get_opaque(ldb, "EventContext"));
+
+ event_ctx = ldb_get_opaque(ldb, "EventContext");
+
+ /* FIXME: We must make the event context an explicit parameter, but we
+ * need to build the events library separately first. Hack a new event
+ * context so that CMD line utilities work until we have libevents for
+ * standalone builds ready */
+ if (event_ctx == NULL) {
+ event_ctx = event_context_init(NULL);
+ }
+
+ ildb->ldap = ldap4_new_connection(ildb, ldb_get_opaque(ldb, "loadparm"),
+ event_ctx);
if (!ildb->ldap) {
ldb_oom(ldb);
goto failed;
diff --git a/source/lib/ldb_wrap.c b/source/lib/ldb_wrap.c
index b71adcb..b564976 100644
--- a/source/lib/ldb_wrap.c
+++ b/source/lib/ldb_wrap.c
@@ -116,7 +116,7 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx,
talloc_asprintf(ldb, "%s/ldb", lp_modulesdir(lp_ctx)));
if (ev == NULL) {
- ev = event_context_find(mem_ctx);
+ return NULL;
}
if (ldb_set_opaque(ldb, "EventContext", ev)) {
diff --git a/source/lib/messaging/messaging.c b/source/lib/messaging/messaging.c
index 29d6e00..1928446 100644
--- a/source/lib/messaging/messaging.c
+++ b/source/lib/messaging/messaging.c
@@ -544,6 +544,10 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx,
NTSTATUS status;
struct socket_address *path;
+ if (ev == NULL) {
+ return NULL;
+ }
+
msg = talloc_zero(mem_ctx, struct messaging_context);
if (msg == NULL) {
return NULL;
@@ -556,10 +560,6 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx,
return NULL;
}
- if (ev == NULL) {
- ev = event_context_init(msg);
- }
-
/* create the messaging directory if needed */
mkdir(dir, 0700);
diff --git a/source/lib/socket/testsuite.c b/source/lib/socket/testsuite.c
index 813412c..2c25d8f 100644
--- a/source/lib/socket/testsuite.c
+++ b/source/lib/socket/testsuite.c
@@ -124,7 +124,7 @@ static bool test_tcp(struct torture_context *tctx)
DATA_BLOB blob, blob2;
size_t sent, nread;
TALLOC_CTX *mem_ctx = tctx;
- struct event_context *ev = event_context_init(mem_ctx);
+ struct event_context *ev = tctx->ev;
struct interface *ifaces;
status = socket_create("ip", SOCKET_TYPE_STREAM, &sock1, 0);
diff --git a/source/libcli/cldap/cldap.c b/source/libcli/cldap/cldap.c
index d991028..614bd51 100644
--- a/source/libcli/cldap/cldap.c
+++ b/source/libcli/cldap/cldap.c
@@ -250,11 +250,7 @@ struct cldap_socket *cldap_socket_init(TALLOC_CTX *mem_ctx,
cldap = talloc(mem_ctx, struct cldap_socket);
if (cldap == NULL) goto failed;
- if (event_ctx == NULL) {
- cldap->event_ctx = event_context_init(cldap);
- } else {
- cldap->event_ctx = talloc_reference(cldap, event_ctx);
- }
+ cldap->event_ctx = talloc_reference(cldap, event_ctx);
if (cldap->event_ctx == NULL) goto failed;
cldap->idr = idr_init(cldap);
diff --git a/source/libcli/cliconnect.c b/source/libcli/cliconnect.c
index 4858a96..c20a7fd 100644
--- a/source/libcli/cliconnect.c
+++ b/source/libcli/cliconnect.c
@@ -33,13 +33,14 @@
*/
bool smbcli_socket_connect(struct smbcli_state *cli, const char *server,
const char **ports,
+ struct event_context *ev_ctx,
struct resolve_context *resolve_ctx,
struct smbcli_options *options)
{
struct smbcli_socket *sock;
- sock = smbcli_sock_connect_byname(server, ports, NULL, resolve_ctx,
- NULL);
+ sock = smbcli_sock_connect_byname(server, ports, NULL,
+ resolve_ctx, ev_ctx);
if (sock == NULL) return false;
diff --git a/source/libcli/composite/composite.c b/source/libcli/composite/composite.c
--
Samba Shared Repository
More information about the samba-cvs
mailing list