[SCM] Samba Shared Repository - branch v4-6-test updated

Karolin Seeger kseeger at samba.org
Wed Nov 22 12:44:02 UTC 2017


The branch, v4-6-test has been updated
       via  eea9b63 ctdb-common: Call missing tevent_wakeup_recv() in sock_daemon
       via  c54477d ctdb-daemon: Allocate deferred calls off calling context
       via  7e41c94 winbind: Remove winbind_messaging_context
       via  65bbf31 winbind: winbind_messaging_context -> server_messaging_context
       via  88a92ba winbind: Remove winbind_event_context
       via  d0b4331 winbind: Replace winbind_event_context with server_event_context
       via  598cc46 s3: smbclient: tests: Test "volume" command over SMB1 and SMB2+.
       via  3490bbd s3: smbclient: Implement "volume" command over SMB2.
      from  a7de852 VERSION: Bump version up to 4.6.12...

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-6-test


- Log -----------------------------------------------------------------
commit eea9b637f7c217bbbc9cdb5e6e99fd15fcb890b9
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Nov 10 12:18:01 2017 +1100

    ctdb-common: Call missing tevent_wakeup_recv() in sock_daemon
    
    https://bugzilla.samba.org/show_bug.cgi?id=13153
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    (cherry picked from commit 49308f7f22f3d6fa05cc81fdef3db020e503fa9f)
    
    Autobuild-User(v4-6-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-6-test): Wed Nov 22 13:43:49 CET 2017 on sn-devel-144

commit c54477d9bf4006156b261c374c0071ba87d6c03d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Oct 19 14:58:18 2017 +1100

    ctdb-daemon: Allocate deferred calls off calling context
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13152
    
    This makes sure that if a client disconnects, all the deferred calls
    from the client are correctly freed.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    (cherry picked from commit 848f2425984667c243ccac847b8f48a66ce10178)

commit 7e41c947641d3ec52174c9780b79e39871fd11be
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 17 11:47:37 2017 +0100

    winbind: Remove winbind_messaging_context
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13150
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Sat Nov 18 04:07:24 CET 2017 on sn-devel-144
    
    (cherry picked from commit 050ca45dc7fc5bbab6e1c60b919ac0b1e9661e27)

commit 65bbf314782d70a72c8500e4bcebefc8eefc102c
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 17 11:42:34 2017 +0100

    winbind: winbind_messaging_context -> server_messaging_context
    
    Don't use winbind_messaging_context anymore.
    
    This fixes a bug analysed by Peter Somogyi <PSOMOGYI at hu.ibm.com>: If a
    parent winbind forks, it only called reinit_after_fork on
    winbind_messaging_context. On the other hand, deep in dbwrap_open we use
    server_messaging_context(). This is not reinitialized by
    winbind_reinit_after fork, so the parent and child share a ctdb
    connection. This is invalid, because replies from ctdb end up in the
    wrong process.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13150
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit d8a01d09c13728f36107f6eb94ecb7653706a4db)

commit 88a92ba2e77517359c68628019c9d67452b476be
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 17 11:37:30 2017 +0100

    winbind: Remove winbind_event_context
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13150
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit e1f12acc13a3cc004518ac3460c6000ea0b95115)

commit d0b4331b5460e40a52b3c00776ef9272856239f5
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 17 11:35:19 2017 +0100

    winbind: Replace winbind_event_context with server_event_context
    
    There's no point in having two global event contexts
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13150
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 7e83d1489406cd53d72097e40bf02295c88ea61e)

commit 598cc463c5fb634588446fa15ea2e8ed39e36617
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 14 15:54:19 2017 -0800

    s3: smbclient: tests: Test "volume" command over SMB1 and SMB2+.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13140
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Wed Nov 15 19:50:54 CET 2017 on sn-devel-144
    
    (cherry picked from commit f8cd211acc3824e01d89a6f8b6666c39aa5cd54e)

commit 3490bbd4df933d2cf3a548f1cc8794a55bc65978
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 14 15:42:14 2017 -0800

    s3: smbclient: Implement "volume" command over SMB2.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13140
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    (cherry picked from commit aaa52ab7b5ae711b80e3967ab1ecc91888c346f6)

-----------------------------------------------------------------------

Summary of changes:
 ctdb/common/sock_daemon.c                          |   8 ++
 ctdb/server/ctdb_call.c                            |  14 ++-
 source3/libsmb/cli_smb2_fnum.c                     | 130 +++++++++++++++++++++
 source3/libsmb/cli_smb2_fnum.h                     |   5 +
 source3/libsmb/clifsinfo.c                         |   8 ++
 source3/script/tests/test_smbclient_s3.sh          |  32 +++++
 source3/torture/torture.c                          |   9 --
 source3/winbindd/idmap_ldap.c                      |   2 +-
 source3/winbindd/idmap_rfc2307.c                   |   2 +-
 source3/winbindd/winbindd.c                        | 110 ++++++-----------
 source3/winbindd/winbindd_cm.c                     |  36 +++---
 source3/winbindd/winbindd_cred_cache.c             |  14 +--
 source3/winbindd/winbindd_dual.c                   |  50 ++++----
 source3/winbindd/winbindd_dual_srv.c               |   6 +-
 source3/winbindd/winbindd_irpc.c                   |   8 +-
 source3/winbindd/winbindd_misc.c                   |   2 +-
 source3/winbindd/winbindd_pam_auth.c               |   2 +-
 source3/winbindd/winbindd_pam_auth_crap.c          |   2 +-
 source3/winbindd/winbindd_pam_chauthtok.c          |   2 +-
 .../winbindd/winbindd_pam_chng_pswd_auth_crap.c    |   2 +-
 source3/winbindd/winbindd_pam_logoff.c             |   2 +-
 source3/winbindd/winbindd_proto.h                  |   2 -
 source3/winbindd/winbindd_util.c                   |   2 +-
 23 files changed, 298 insertions(+), 152 deletions(-)


Changeset truncated at 500 lines:

diff --git a/ctdb/common/sock_daemon.c b/ctdb/common/sock_daemon.c
index b53b4d8..1fe5ff5 100644
--- a/ctdb/common/sock_daemon.c
+++ b/ctdb/common/sock_daemon.c
@@ -628,6 +628,14 @@ static void sock_daemon_run_started(struct tevent_req *subreq)
 	struct sock_daemon_run_state *state = tevent_req_data(
 		req, struct sock_daemon_run_state);
 	struct sock_daemon_context *sockd = state->sockd;
+	bool status;
+
+	status = tevent_wakeup_recv(subreq);
+	TALLOC_FREE(subreq);
+	if (! status) {
+		tevent_req_error(req, EIO);
+		return;
+	}
 
 	D_NOTICE("daemon started, pid=%u\n", getpid());
 
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c
index b3bc9cf..a4f84a3 100644
--- a/ctdb/server/ctdb_call.c
+++ b/ctdb/server/ctdb_call.c
@@ -1567,6 +1567,7 @@ struct revokechild_deferred_call {
 	struct ctdb_req_header *hdr;
 	deferred_requeue_fn fn;
 	void *ctx;
+	struct revokechild_handle *rc;
 };
 
 struct revokechild_handle {
@@ -1591,12 +1592,20 @@ static void deferred_call_requeue(struct tevent_context *ev,
 	while (dlist != NULL) {
 		struct revokechild_deferred_call *dcall = dlist;
 
+		talloc_set_destructor(dcall, NULL);
 		DLIST_REMOVE(dlist, dcall);
 		dcall->fn(dcall->ctx, dcall->hdr);
 		talloc_free(dcall);
 	}
 }
 
+static int deferred_call_destructor(struct revokechild_deferred_call *dcall)
+{
+	struct revokechild_handle *rc = dcall->rc;
+
+	DLIST_REMOVE(rc->deferred_call_list, dcall);
+	return 0;
+}
 
 static int revokechild_destructor(struct revokechild_handle *rc)
 {
@@ -1935,7 +1944,7 @@ int ctdb_add_revoke_deferred_call(struct ctdb_context *ctdb, struct ctdb_db_cont
 		return -1;
 	}
 
-	deferred_call = talloc(ctdb_db, struct revokechild_deferred_call);
+	deferred_call = talloc(call_context, struct revokechild_deferred_call);
 	if (deferred_call == NULL) {
 		DEBUG(DEBUG_ERR,("Failed to allocate deferred call structure for revoking record\n"));
 		return -1;
@@ -1945,6 +1954,9 @@ int ctdb_add_revoke_deferred_call(struct ctdb_context *ctdb, struct ctdb_db_cont
 	deferred_call->hdr  = talloc_steal(deferred_call, hdr);
 	deferred_call->fn   = fn;
 	deferred_call->ctx  = call_context;
+	deferred_call->rc   = rc;
+
+	talloc_set_destructor(deferred_call, deferred_call_destructor);
 
 	DLIST_ADD(rc->deferred_call_list, deferred_call);
 
diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c
index e5a4055..247f443 100644
--- a/source3/libsmb/cli_smb2_fnum.c
+++ b/source3/libsmb/cli_smb2_fnum.c
@@ -2001,6 +2001,136 @@ fail:
 }
 
 /***************************************************************
+ Wrapper that allows SMB2 to query file system volume info.
+ Synchronous only.
+***************************************************************/
+
+NTSTATUS cli_smb2_get_fs_volume_info(struct cli_state *cli,
+                                TALLOC_CTX *mem_ctx,
+                                char **_volume_name,
+                                uint32_t *pserial_number,
+                                time_t *pdate)
+{
+	NTSTATUS status;
+	uint16_t fnum = 0xffff;
+	DATA_BLOB outbuf = data_blob_null;
+	struct smb2_hnd *ph = NULL;
+	uint32_t nlen;
+	char *volume_name = NULL;
+	TALLOC_CTX *frame = talloc_stackframe();
+
+	if (smbXcli_conn_has_async_calls(cli->conn)) {
+		/*
+		 * Can't use sync call while an async call is in flight
+		 */
+		status = NT_STATUS_INVALID_PARAMETER;
+		goto fail;
+	}
+
+	if (smbXcli_conn_protocol(cli->conn) < PROTOCOL_SMB2_02) {
+		status = NT_STATUS_INVALID_PARAMETER;
+		goto fail;
+	}
+
+	/* First open the top level directory. */
+	status =
+	    cli_smb2_create_fnum(cli, "", 0,		   /* create_flags */
+				 FILE_READ_ATTRIBUTES,     /* desired_access */
+				 FILE_ATTRIBUTE_DIRECTORY, /* file attributes */
+				 FILE_SHARE_READ | FILE_SHARE_WRITE |
+				     FILE_SHARE_DELETE, /* share_access */
+				 FILE_OPEN,		/* create_disposition */
+				 FILE_DIRECTORY_FILE,   /* create_options */
+				 &fnum,
+				 NULL);
+
+	if (!NT_STATUS_IS_OK(status)) {
+		goto fail;
+	}
+
+	status = map_fnum_to_smb2_handle(cli, fnum, &ph);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto fail;
+	}
+
+	/* getinfo on the returned handle with info_type SMB2_GETINFO_FS (2),
+	   level 1 (SMB_FS_VOLUME_INFORMATION). */
+
+	status = smb2cli_query_info(cli->conn,
+				cli->timeout,
+				cli->smb2.session,
+				cli->smb2.tcon,
+				SMB2_GETINFO_FS, /* in_info_type */
+				/* in_file_info_class */
+				SMB_FS_VOLUME_INFORMATION - 1000,
+				0xFFFF, /* in_max_output_length */
+				NULL, /* in_input_buffer */
+				0, /* in_additional_info */
+				0, /* in_flags */
+				ph->fid_persistent,
+				ph->fid_volatile,
+				frame,
+				&outbuf);
+	if (!NT_STATUS_IS_OK(status)) {
+		goto fail;
+	}
+
+	if (outbuf.length < 24) {
+		status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+		goto fail;
+	}
+
+	if (pdate) {
+		struct timespec ts;
+		ts = interpret_long_date((char *)outbuf.data);
+		*pdate = ts.tv_sec;
+	}
+	if (pserial_number) {
+		*pserial_number = IVAL(outbuf.data,8);
+	}
+	nlen = IVAL(outbuf.data,12);
+	if (nlen + 18 < 18) {
+		/* Integer wrap. */
+		status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+		goto fail;
+	}
+	/*
+	 * The next check is safe as we know outbuf.length >= 24
+	 * from above.
+	 */
+	if (nlen > (outbuf.length - 18)) {
+		status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+		goto fail;
+	}
+
+	clistr_pull_talloc(mem_ctx,
+			(const char *)outbuf.data,
+			0,
+			&volume_name,
+			outbuf.data + 18,
+			nlen,
+			STR_UNICODE);
+	if (volume_name == NULL) {
+		status = map_nt_error_from_unix(errno);
+		goto fail;
+	}
+
+	*_volume_name = volume_name;
+
+fail:
+
+	if (fnum != 0xffff) {
+		cli_smb2_close_fnum(cli, fnum);
+	}
+
+	cli->raw_status = status;
+
+	TALLOC_FREE(frame);
+	return status;
+}
+
+
+/***************************************************************
  Wrapper that allows SMB2 to query a security descriptor.
  Synchronous only.
 ***************************************************************/
diff --git a/source3/libsmb/cli_smb2_fnum.h b/source3/libsmb/cli_smb2_fnum.h
index 5354b2d..1a7ecf1 100644
--- a/source3/libsmb/cli_smb2_fnum.h
+++ b/source3/libsmb/cli_smb2_fnum.h
@@ -133,6 +133,11 @@ NTSTATUS cli_smb2_get_fs_full_size_info(struct cli_state *cli,
 			uint64_t *actual_allocation_units,
 			uint64_t *sectors_per_allocation_unit,
 			uint64_t *bytes_per_sector);
+NTSTATUS cli_smb2_get_fs_volume_info(struct cli_state *cli,
+			TALLOC_CTX *mem_ctx,
+			char **_volume_name,
+			uint32_t *pserial_number,
+			time_t *pdate);
 NTSTATUS cli_smb2_query_security_descriptor(struct cli_state *cli,
 			uint16_t fnum,
 			uint32_t sec_info,
diff --git a/source3/libsmb/clifsinfo.c b/source3/libsmb/clifsinfo.c
index 4623639..09c0d95 100644
--- a/source3/libsmb/clifsinfo.c
+++ b/source3/libsmb/clifsinfo.c
@@ -375,6 +375,14 @@ NTSTATUS cli_get_fs_volume_info(struct cli_state *cli,
 	unsigned int nlen;
 	char *volume_name = NULL;
 
+	if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
+		return cli_smb2_get_fs_volume_info(cli,
+						mem_ctx,
+						_volume_name,
+						pserial_number,
+						pdate);
+	}
+
 	SSVAL(setup, 0, TRANSACT2_QFSINFO);
 	SSVAL(param,0,SMB_QUERY_FS_VOLUME_INFO);
 
diff --git a/source3/script/tests/test_smbclient_s3.sh b/source3/script/tests/test_smbclient_s3.sh
index ce1cb08..fae8b1f 100755
--- a/source3/script/tests/test_smbclient_s3.sh
+++ b/source3/script/tests/test_smbclient_s3.sh
@@ -1277,6 +1277,34 @@ done
 
 LOGDIR=$(mktemp -d ${PREFIX}/${LOGDIR_PREFIX}_XXXXXX)
 
+# Test doing a volume command.
+test_volume()
+{
+    tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+    cat > $tmpfile <<EOF
+volume
+quit
+EOF
+    cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+    ret=$?
+    rm -f $tmpfile
+
+    if [ $ret != 0 ] ; then
+	echo "$out"
+	echo "failed doing volume command with error $ret"
+	return 1
+    fi
+
+    echo "$out" | grep '^Volume: |tmp| serial number'
+    ret=$?
+    if [ $ret != 0 ] ; then
+	echo "$out"
+	echo "failed doing volume command"
+	return 1
+    fi
+}
 
 testit "smbclient -L $SERVER_IP" $SMBCLIENT -L $SERVER_IP -N -p 139 || failed=`expr $failed + 1`
 testit "smbclient -L $SERVER -I $SERVER_IP" $SMBCLIENT -L $SERVER -I $SERVER_IP -N -p 139 -c quit || failed=`expr $failed + 1`
@@ -1373,6 +1401,10 @@ testit "follow local symlinks" \
     test_local_symlinks || \
     failed=`expr $failed + 1`
 
+testit "volume" \
+    test_volume || \
+    failed=`expr $failed + 1`
+
 testit "rm -rf $LOGDIR" \
     rm -rf $LOGDIR || \
     failed=`expr $failed + 1`
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 015ea37..bb4fefa 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -11486,15 +11486,6 @@ static struct {
 	{ "qpathinfo-bufsize", run_qpathinfo_bufsize, 0 },
 	{NULL, NULL, 0}};
 
-/*
- * dummy function to satisfy linker dependency
- */
-struct tevent_context *winbind_event_context(void);
-struct tevent_context *winbind_event_context(void)
-{
-	return NULL;
-}
-
 /****************************************************************************
 run a specified test or "ALL"
 ****************************************************************************/
diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 0520f21..7fa4365 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -471,7 +471,7 @@ static NTSTATUS idmap_ldap_db_init(struct idmap_domain *dom)
 
 	/* get_credentials deals with setting up creds */
 
-	ret = smbldap_init(ctx, winbind_event_context(), ctx->url,
+	ret = smbldap_init(ctx, server_event_context(), ctx->url,
 			   false, NULL, NULL, &ctx->smbldap_state);
 	if (!NT_STATUS_IS_OK(ret)) {
 		DEBUG(1, ("ERROR: smbldap_init (%s) failed!\n", ctx->url));
diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c
index 0e0311a..cfe774b 100644
--- a/source3/winbindd/idmap_rfc2307.c
+++ b/source3/winbindd/idmap_rfc2307.c
@@ -194,7 +194,7 @@ static NTSTATUS idmap_rfc2307_init_ldap(struct idmap_rfc2307_context *ctx,
 	}
 
 	/* assume anonymous if we don't have a specified user */
-	ret = smbldap_init(mem_ctx, winbind_event_context(), url,
+	ret = smbldap_init(mem_ctx, server_event_context(), url,
 			   (user_dn == NULL), user_dn, secret,
 			   &ctx->smbldap_state);
 	SAFE_FREE(secret);
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 2cd2001..f601005 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -59,44 +59,6 @@ static bool interactive = False;
 
 extern bool override_logfile;
 
-struct tevent_context *winbind_event_context(void)
-{
-	static struct tevent_context *ev = NULL;
-
-	if (ev != NULL) {
-		return ev;
-	}
-
-	/*
-	 * Note we MUST use the NULL context here, not the autofree context,
-	 * to avoid side effects in forked children exiting.
-	 */
-	ev = samba_tevent_context_init(NULL);
-	if (ev == NULL) {
-		smb_panic("Could not init winbindd's messaging context.\n");
-	}
-	return ev;
-}
-
-struct messaging_context *winbind_messaging_context(void)
-{
-	static struct messaging_context *msg = NULL;
-
-	if (msg != NULL) {
-		return msg;
-	}
-
-	/*
-	 * Note we MUST use the NULL context here, not the autofree context,
-	 * to avoid side effects in forked children exiting.
-	 */
-	msg = messaging_init(NULL, winbind_event_context());
-	if (msg == NULL) {
-		smb_panic("Could not init winbindd's messaging context.\n");
-	}
-	return msg;
-}
-
 struct imessaging_context *winbind_imessaging_context(void)
 {
 	static struct imessaging_context *msg = NULL;
@@ -123,7 +85,7 @@ struct imessaging_context *winbind_imessaging_context(void)
 	 * Note we MUST use the NULL context here, not the autofree context,
 	 * to avoid side effects in forked children exiting.
 	 */
-	msg = imessaging_init(NULL, lp_ctx, myself, winbind_event_context());
+	msg = imessaging_init(NULL, lp_ctx, myself, server_event_context());
 	talloc_unlink(NULL, lp_ctx);
 
 	if (msg == NULL) {
@@ -258,7 +220,7 @@ static void terminate(bool is_parent)
 #endif
 
 	if (is_parent) {
-		struct messaging_context *msg = winbind_messaging_context();
+		struct messaging_context *msg = server_messaging_context();
 		struct server_id self = messaging_server_id(msg);
 		serverid_deregister(self);
 		pidfile_unlink(lp_pid_directory(), "winbindd");
@@ -306,14 +268,14 @@ bool winbindd_setup_sig_term_handler(bool parent)
 	struct tevent_signal *se;
 	bool *is_parent;
 
-	is_parent = talloc(winbind_event_context(), bool);
+	is_parent = talloc(server_event_context(), bool);
 	if (!is_parent) {
 		return false;
 	}
 
 	*is_parent = parent;
 
-	se = tevent_add_signal(winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),
 			       is_parent,
 			       SIGTERM, 0,
 			       winbindd_sig_term_handler,
@@ -324,7 +286,7 @@ bool winbindd_setup_sig_term_handler(bool parent)
 		return false;
 	}
 
-	se = tevent_add_signal(winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),
 			       is_parent,
 			       SIGINT, 0,
 			       winbindd_sig_term_handler,
@@ -335,7 +297,7 @@ bool winbindd_setup_sig_term_handler(bool parent)
 		return false;
 	}
 
-	se = tevent_add_signal(winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),
 			       is_parent,
 			       SIGQUIT, 0,
 			       winbindd_sig_term_handler,
@@ -356,7 +318,7 @@ bool winbindd_setup_stdin_handler(bool parent, bool foreground)
 	if (foreground) {
 		struct stat st;
 
-		is_parent = talloc(winbind_event_context(), bool);
+		is_parent = talloc(server_event_context(), bool);
 		if (!is_parent) {
 			return false;
 		}
@@ -372,7 +334,7 @@ bool winbindd_setup_stdin_handler(bool parent, bool foreground)
 			return false;
 		}
 		if (S_ISFIFO(st.st_mode) || S_ISSOCK(st.st_mode)) {
-			tevent_add_fd(winbind_event_context(),
+			tevent_add_fd(server_event_context(),
 					is_parent,
 					0,
 					TEVENT_FD_READ,
@@ -404,15 +366,15 @@ bool winbindd_setup_sig_hup_handler(const char *lfile)
 	char *file = NULL;
 
 	if (lfile) {
-		file = talloc_strdup(winbind_event_context(),
+		file = talloc_strdup(server_event_context(),
 				     lfile);
 		if (!file) {
 			return false;
 		}
 	}
 
-	se = tevent_add_signal(winbind_event_context(),
-			       winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),
+			       server_event_context(),
 			       SIGHUP, 0,
 			       winbindd_sig_hup_handler,
 			       file);
@@ -441,8 +403,8 @@ static bool winbindd_setup_sig_chld_handler(void)
 {
 	struct tevent_signal *se;
 
-	se = tevent_add_signal(winbind_event_context(),
-			       winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),
+			       server_event_context(),
 			       SIGCHLD, 0,
 			       winbindd_sig_chld_handler,
 			       NULL);
@@ -467,8 +429,8 @@ static bool winbindd_setup_sig_usr2_handler(void)
 {
 	struct tevent_signal *se;
 
-	se = tevent_add_signal(winbind_event_context(),
-			       winbind_event_context(),
+	se = tevent_add_signal(server_event_context(),


-- 
Samba Shared Repository



More information about the samba-cvs mailing list