[packages/samba] - up to 4.2.2 - removed obsolete dcerpc patches

qboosh qboosh at pld-linux.org
Sat Jun 20 00:04:00 CEST 2015


commit c174096877a0745605cb66c08527bc864ec91cc9
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jun 20 00:05:21 2015 +0200

    - up to 4.2.2
    - removed obsolete dcerpc patches

 samba-dcerpc-multiplexed.patch             |  75 -------------
 samba-dcerpc-pending-call.patch            |  87 ---------------
 samba-refactor-dcesrv_alter-function.patch | 166 -----------------------------
 samba.spec                                 |  25 ++---
 4 files changed, 10 insertions(+), 343 deletions(-)
---
diff --git a/samba.spec b/samba.spec
index 13aca44..e7cebf7 100644
--- a/samba.spec
+++ b/samba.spec
@@ -8,11 +8,11 @@
 %bcond_without	system_libs	# system libraries (talloc,tdb,tevent,ldb,ntdb)
 
 %if %{with system_libs}
-%define		talloc_ver	2:2.1.2
-%define		tdb_ver		2:1.2.12
 %define		ldb_ver		1.1.20
+%define		ntdb_ver	1.0
+%define		talloc_ver	2:2.1.2
+%define		tdb_ver		2:1.3.4
 %define		tevent_ver	0.9.24
-%define		ntdb_ver	0.9
 %endif
 
 %include	/usr/lib/rpm/macros.perl
@@ -22,13 +22,13 @@
 Summary:	Samba Active Directory and SMB server
 Summary(pl.UTF-8):	Serwer Samba Active Directory i SMB
 Name:		samba
-Version:	4.2.1
-Release:	0.2
+Version:	4.2.2
+Release:	0.1
 Epoch:		1
 License:	GPL v3
 Group:		Networking/Daemons
 Source0:	https://www.samba.org/ftp/samba/samba-%{version}.tar.gz
-# Source0-md5:	614b4c7b9bbc70cff4cb56956f565741
+# Source0-md5:	77f138cc0736549b03872279364766e0
 Source1:	smb.init
 Source2:	samba.pamd
 Source4:	samba.sysconfig
@@ -48,9 +48,6 @@ Patch5:		%{name}-heimdal.patch
 Patch6:		server-role.patch
 Patch7:		%{name}-bug-9816.patch
 Patch8:		%{name}-lib-tls-fix-build-with-gnutls-3.4.patch
-Patch9:		%{name}-dcerpc-multiplexed.patch
-Patch10:	%{name}-dcerpc-pending-call.patch
-Patch11:	%{name}-refactor-dcesrv_alter-function.patch
 URL:		http://www.samba.org/
 BuildRequires:	acl-devel
 %{?with_avahi:BuildRequires:	avahi-devel}
@@ -66,11 +63,12 @@ BuildRequires:	gamin-devel
 BuildRequires:	gdbm-devel
 BuildRequires:	gettext-tools
 BuildRequires:	glusterfs-devel
-BuildRequires:	gnutls-devel >= 1.4.0
+BuildRequires:	gnutls-devel >= 3.0.0
 BuildRequires:	heimdal-devel >= 1.5.3-1
 BuildRequires:	iconv
 BuildRequires:	keyutils-devel
 BuildRequires:	libaio-devel
+BuildRequires:	libarchive-devel >= 3.1.2
 BuildRequires:	libcap-devel
 BuildRequires:	libcom_err-devel
 BuildRequires:	libmagic-devel
@@ -78,7 +76,7 @@ BuildRequires:	libnscd-devel
 BuildRequires:	make >= 3.81
 BuildRequires:	ncurses-devel >= 5.2
 BuildRequires:	ncurses-ext-devel >= 5.2
-BuildRequires:	nss_wrapper
+BuildRequires:	nss_wrapper >= 1.0.2
 %{?with_ldap:BuildRequires:	openldap-devel >= 2.3.0}
 BuildRequires:	pam-devel >= 0.99.8.1
 BuildRequires:	perl-ExtUtils-MakeMaker
@@ -358,7 +356,7 @@ używanym w sieciach MS Windows.
 Summary:	Samba shared libraries
 Summary(pl.UTF-8):	Biblioteki współdzielone Samby
 Group:		Libraries
-Requires:	gnutls >= 1.4.0
+Requires:	gnutls >= 3.0.0
 %if %{with system_libs}
 Requires:	ldb >= %{ldb_ver}
 Requires:	ntdb >= %{ntdb_ver}
@@ -513,9 +511,6 @@ Ten pakiet zawiera schemat Samby (samba.schema) dla OpenLDAP-a.
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
 
 %{__sed} -i -e 's|#!/usr/bin/env python|#!/usr/bin/python|' source4/scripting/bin/samba*
 %{__sed} -i -e 's|#!/usr/bin/env perl|#!/usr/bin/perl|' pidl/pidl
diff --git a/samba-dcerpc-multiplexed.patch b/samba-dcerpc-multiplexed.patch
deleted file mode 100644
index 9c1f463..0000000
--- a/samba-dcerpc-multiplexed.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 8c05ae93755a6f0f9887dd99f6356d488e337329 Mon Sep 17 00:00:00 2001
-From: Julien Kerihuel <j.kerihuel at openchange.org>
-Date: Tue, 24 Mar 2015 21:06:03 -0700
-Subject: [PATCH] Add multiplex state to dcerpc flags and control over
- multiplex PFC flag in bind_ack and and dcesrv_alter replies
-
-Signed-off-by: Julien Kerihuel <j.kerihuel at openchange.org>
-Reviewed-by: "Stefan (metze) Metzmacher" <metze at samba.org>
-Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
-(cherry picked from commit caaf89e899c2a3926fb9e54d1c86f1a9cd5d7618)
----
- source4/rpc_server/dcerpc_server.c | 15 ++++++++++++++-
- source4/rpc_server/dcerpc_server.h |  1 +
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
-index 4d5e166..4681e17 100644
---- a/source4/rpc_server/dcerpc_server.c
-+++ b/source4/rpc_server/dcerpc_server.c
-@@ -614,6 +614,12 @@ static NTSTATUS dcesrv_bind(struct dcesrv_call_state *call)
- 		call->conn->cli_max_recv_frag = MIN(0x2000, call->pkt.u.bind.max_recv_frag);
- 	}
- 
-+	if ((call->pkt.pfc_flags & DCERPC_PFC_FLAG_CONC_MPX) &&
-+	    (call->state_flags & DCESRV_CALL_STATE_FLAG_MULTIPLEXED)) {
-+		call->context->conn->state_flags |= DCESRV_CALL_STATE_FLAG_MULTIPLEXED;
-+		extra_flags |= DCERPC_PFC_FLAG_CONC_MPX;
-+	}
-+
- 	/* handle any authentication that is being requested */
- 	if (!dcesrv_auth_bind(call)) {
- 		talloc_free(call->context);
-@@ -793,6 +799,7 @@ static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
- 	NTSTATUS status;
- 	uint32_t result=0, reason=0;
- 	uint32_t context_id;
-+	uint32_t extra_flags = 0;
- 
- 	/* handle any authentication that is being requested */
- 	if (!dcesrv_auth_alter(call)) {
-@@ -826,12 +833,18 @@ static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
- 		reason = DCERPC_BIND_REASON_ASYNTAX;
- 	}
- 
-+	if ((call->pkt.pfc_flags & DCERPC_PFC_FLAG_CONC_MPX)) {
-+		if (call->context->conn->state_flags & DCESRV_CALL_STATE_FLAG_MULTIPLEXED) {
-+			extra_flags |= DCERPC_PFC_FLAG_CONC_MPX;
-+		}
-+	}
-+
- 	/* setup a alter_resp */
- 	dcesrv_init_hdr(&pkt, lpcfg_rpc_big_endian(call->conn->dce_ctx->lp_ctx));
- 	pkt.auth_length = 0;
- 	pkt.call_id = call->pkt.call_id;
- 	pkt.ptype = DCERPC_PKT_ALTER_RESP;
--	pkt.pfc_flags = DCERPC_PFC_FLAG_FIRST | DCERPC_PFC_FLAG_LAST;
-+	pkt.pfc_flags = DCERPC_PFC_FLAG_FIRST | DCERPC_PFC_FLAG_LAST | extra_flags;
- 	pkt.u.alter_resp.max_xmit_frag = 0x2000;
- 	pkt.u.alter_resp.max_recv_frag = 0x2000;
- 	if (result == 0) {
-diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
-index c5d8632..2346876 100644
---- a/source4/rpc_server/dcerpc_server.h
-+++ b/source4/rpc_server/dcerpc_server.h
-@@ -101,6 +101,7 @@ struct dcesrv_call_state {
- 	 */
- #define DCESRV_CALL_STATE_FLAG_ASYNC (1<<0)
- #define DCESRV_CALL_STATE_FLAG_MAY_ASYNC (1<<1)
-+#define DCESRV_CALL_STATE_FLAG_MULTIPLEXED (1<<3)
- 	uint32_t state_flags;
- 
- 	/* the time the request arrived in the server */
--- 
-1.9.1
-
diff --git a/samba-dcerpc-pending-call.patch b/samba-dcerpc-pending-call.patch
deleted file mode 100644
index 19c8479..0000000
--- a/samba-dcerpc-pending-call.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From c35e4be4f481312e3b0d639ae8bb980786749321 Mon Sep 17 00:00:00 2001
-From: Julien Kerihuel <j.kerihuel at openchange.org>
-Date: Mon, 6 Apr 2015 11:26:58 +0200
-Subject: [PATCH] Add DCERPC flag to call unbind hooks without destroying the
- connection itself upon termination of a connection with outstanding pending
- calls.
-
-Reviewed-by: Stefan Metzmacher <metze at samba.org>
-Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
-
-Autobuild-User(master): Jeremy Allison <jra at samba.org>
-Autobuild-Date(master): Tue Apr 14 20:39:34 CEST 2015 on sn-devel-104
-
-(cherry picked from commit fd90d270c7e97a639f42a96b674a674d1b51aa0d)
----
- source4/rpc_server/dcerpc_server.c | 21 +++++++++++++++++++++
- source4/rpc_server/dcerpc_server.h |  1 +
- 2 files changed, 22 insertions(+)
-
-diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
-index 4681e17..f25aa68 100644
---- a/source4/rpc_server/dcerpc_server.c
-+++ b/source4/rpc_server/dcerpc_server.c
-@@ -504,6 +504,7 @@ static int dcesrv_connection_context_destructor(struct dcesrv_connection_context
- 
- 	if (c->iface && c->iface->unbind) {
- 		c->iface->unbind(c, c->iface);
-+		c->iface = NULL;
- 	}
- 
- 	return 0;
-@@ -620,6 +621,10 @@ static NTSTATUS dcesrv_bind(struct dcesrv_call_state *call)
- 		extra_flags |= DCERPC_PFC_FLAG_CONC_MPX;
- 	}
- 
-+	if (call->state_flags & DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL) {
-+		call->context->conn->state_flags |= DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL;
-+	}
-+
- 	/* handle any authentication that is being requested */
- 	if (!dcesrv_auth_bind(call)) {
- 		talloc_free(call->context);
-@@ -839,6 +844,10 @@ static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
- 		}
- 	}
- 
-+	if (call->state_flags & DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL) {
-+		call->context->conn->state_flags |= DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL;
-+	}
-+
- 	/* setup a alter_resp */
- 	dcesrv_init_hdr(&pkt, lpcfg_rpc_big_endian(call->conn->dce_ctx->lp_ctx));
- 	pkt.auth_length = 0;
-@@ -1377,6 +1386,18 @@ static void dcesrv_cleanup_broken_connections(struct dcesrv_context *dce_ctx)
- 		cur = next;
- 		next = cur->next;
- 
-+		if (cur->state_flags & DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL) {
-+			struct dcesrv_connection_context *context_cur, *context_next;
-+
-+			context_next = cur->contexts;
-+			while (context_next != NULL) {
-+				context_cur = context_next;
-+				context_next = context_cur->next;
-+
-+				dcesrv_connection_context_destructor(context_cur);
-+			}
-+		}
-+
- 		dcesrv_terminate_connection(cur, cur->terminate);
- 	}
- }
-diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
-index 2346876..8786cd8 100644
---- a/source4/rpc_server/dcerpc_server.h
-+++ b/source4/rpc_server/dcerpc_server.h
-@@ -102,6 +102,7 @@ struct dcesrv_call_state {
- #define DCESRV_CALL_STATE_FLAG_ASYNC (1<<0)
- #define DCESRV_CALL_STATE_FLAG_MAY_ASYNC (1<<1)
- #define DCESRV_CALL_STATE_FLAG_MULTIPLEXED (1<<3)
-+#define DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL (1<<4)
- 	uint32_t state_flags;
- 
- 	/* the time the request arrived in the server */
--- 
-1.9.1
-
diff --git a/samba-refactor-dcesrv_alter-function.patch b/samba-refactor-dcesrv_alter-function.patch
deleted file mode 100644
index 8f02c76..0000000
--- a/samba-refactor-dcesrv_alter-function.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From 4b942ee95cc351e4b123f57197ef19c79ae2b0aa Mon Sep 17 00:00:00 2001
-From: Jeremy Allison <jra at samba.org>
-Date: Fri, 24 Apr 2015 13:19:30 -0700
-Subject: [PATCH] s4: rpc: Refactor dcesrv_alter() function into setup and send
- steps.
-
-Fixes bug:
-
-https://bugzilla.samba.org/show_bug.cgi?id=11236
-
-Based on code from Julien Kerihuel <j.kerihuel at openchange.org>
-
-Signed-off-by: Jeremy Allison <jra at samba.org>
-Reviewed-by: Andreas Schneider <asn at samba.org>
-
-Autobuild-User(master): Jeremy Allison <jra at samba.org>
-Autobuild-Date(master): Sat Apr 25 02:43:22 CEST 2015 on sn-devel-104
-
-(cherry picked from commit 49030649db3dfec5a9bc03e5dde4255a14499f16)
----
- source4/rpc_server/dcerpc_server.c | 114 ++++++++++++++++++++-----------------
- 1 file changed, 62 insertions(+), 52 deletions(-)
-
-diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
-index f25aa68..b1c763b 100644
---- a/source4/rpc_server/dcerpc_server.c
-+++ b/source4/rpc_server/dcerpc_server.c
-@@ -793,66 +793,31 @@ static NTSTATUS dcesrv_alter_new_context(struct dcesrv_call_state *call, uint32_
- 	return NT_STATUS_OK;
- }
- 
--
--/*
--  handle a alter context request
--*/
--static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
-+/* setup and send an alter_resp */
-+static NTSTATUS dcesrv_alter_resp(struct dcesrv_call_state *call,
-+				uint32_t result,
-+				uint32_t reason)
- {
- 	struct ncacn_packet pkt;
--	struct data_blob_list_item *rep;
--	NTSTATUS status;
--	uint32_t result=0, reason=0;
--	uint32_t context_id;
- 	uint32_t extra_flags = 0;
-+	struct data_blob_list_item *rep = NULL;
-+	NTSTATUS status;
- 
--	/* handle any authentication that is being requested */
--	if (!dcesrv_auth_alter(call)) {
--		/* TODO: work out the right reject code */
--		result = DCERPC_BIND_PROVIDER_REJECT;
--		reason = DCERPC_BIND_REASON_ASYNTAX;		
--	}
--
--	context_id = call->pkt.u.alter.ctx_list[0].context_id;
--
--	/* see if they are asking for a new interface */
--	if (result == 0) {
--		call->context = dcesrv_find_context(call->conn, context_id);
--		if (!call->context) {
--			status = dcesrv_alter_new_context(call, context_id);
--			if (!NT_STATUS_IS_OK(status)) {
--				result = DCERPC_BIND_PROVIDER_REJECT;
--				reason = DCERPC_BIND_REASON_ASYNTAX;
--			}
--		}
--	}
--
--	if (result == 0 &&
--	    call->pkt.u.alter.assoc_group_id != 0 &&
--	    lpcfg_parm_bool(call->conn->dce_ctx->lp_ctx, NULL, "dcesrv","assoc group checking", true) &&
--	    call->pkt.u.alter.assoc_group_id != call->context->assoc_group->id) {
--		DEBUG(0,(__location__ ": Failed attempt to use new assoc_group in alter context (0x%08x 0x%08x)\n",
--			 call->context->assoc_group->id, call->pkt.u.alter.assoc_group_id));
--		/* TODO: can they ask for a new association group? */
--		result = DCERPC_BIND_PROVIDER_REJECT;
--		reason = DCERPC_BIND_REASON_ASYNTAX;
--	}
--
--	if ((call->pkt.pfc_flags & DCERPC_PFC_FLAG_CONC_MPX)) {
--		if (call->context->conn->state_flags & DCESRV_CALL_STATE_FLAG_MULTIPLEXED) {
--			extra_flags |= DCERPC_PFC_FLAG_CONC_MPX;
--		}
--	}
--
--	if (call->state_flags & DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL) {
--		call->context->conn->state_flags |= DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL;
--	}
--
--	/* setup a alter_resp */
- 	dcesrv_init_hdr(&pkt, lpcfg_rpc_big_endian(call->conn->dce_ctx->lp_ctx));
- 	pkt.auth_length = 0;
- 	pkt.call_id = call->pkt.call_id;
- 	pkt.ptype = DCERPC_PKT_ALTER_RESP;
-+	if (result == 0) {
-+		if ((call->pkt.pfc_flags & DCERPC_PFC_FLAG_CONC_MPX) &&
-+				call->context->conn->state_flags &
-+					DCESRV_CALL_STATE_FLAG_MULTIPLEXED) {
-+			extra_flags |= DCERPC_PFC_FLAG_CONC_MPX;
-+		}
-+		if (call->state_flags & DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL) {
-+			call->context->conn->state_flags |=
-+				DCESRV_CALL_STATE_FLAG_PROCESS_PENDING_CALL;
-+		}
-+	}
- 	pkt.pfc_flags = DCERPC_PFC_FLAG_FIRST | DCERPC_PFC_FLAG_LAST | extra_flags;
- 	pkt.u.alter_resp.max_xmit_frag = 0x2000;
- 	pkt.u.alter_resp.max_recv_frag = 0x2000;
-@@ -908,6 +873,51 @@ static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
- }
- 
- /*
-+  handle a alter context request
-+*/
-+static NTSTATUS dcesrv_alter(struct dcesrv_call_state *call)
-+{
-+	NTSTATUS status;
-+	uint32_t context_id;
-+
-+	/* handle any authentication that is being requested */
-+	if (!dcesrv_auth_alter(call)) {
-+		/* TODO: work out the right reject code */
-+		return dcesrv_alter_resp(call,
-+				DCERPC_BIND_PROVIDER_REJECT,
-+				DCERPC_BIND_REASON_ASYNTAX);
-+	}
-+
-+	context_id = call->pkt.u.alter.ctx_list[0].context_id;
-+
-+	/* see if they are asking for a new interface */
-+	call->context = dcesrv_find_context(call->conn, context_id);
-+	if (!call->context) {
-+		status = dcesrv_alter_new_context(call, context_id);
-+		if (!NT_STATUS_IS_OK(status)) {
-+			return dcesrv_alter_resp(call,
-+				DCERPC_BIND_PROVIDER_REJECT,
-+				DCERPC_BIND_REASON_ASYNTAX);
-+		}
-+	}
-+
-+	if (call->pkt.u.alter.assoc_group_id != 0 &&
-+	    lpcfg_parm_bool(call->conn->dce_ctx->lp_ctx, NULL, "dcesrv","assoc group checking", true) &&
-+	    call->pkt.u.alter.assoc_group_id != call->context->assoc_group->id) {
-+		DEBUG(0,(__location__ ": Failed attempt to use new assoc_group in alter context (0x%08x 0x%08x)\n",
-+			 call->context->assoc_group->id, call->pkt.u.alter.assoc_group_id));
-+		/* TODO: can they ask for a new association group? */
-+		return dcesrv_alter_resp(call,
-+				DCERPC_BIND_PROVIDER_REJECT,
-+				DCERPC_BIND_REASON_ASYNTAX);
-+	}
-+
-+	return dcesrv_alter_resp(call,
-+				DCERPC_BIND_ACK_RESULT_ACCEPTANCE,
-+				DCERPC_BIND_ACK_REASON_NOT_SPECIFIED);
-+}
-+
-+/*
-   possibly save the call for inspection with ndrdump
-  */
- static void dcesrv_save_call(struct dcesrv_call_state *call, const char *why)
--- 
-2.2.0.rc0.207.ga3a616c
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/samba.git/commitdiff/c174096877a0745605cb66c08527bc864ec91cc9



More information about the pld-cvs-commit mailing list