[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