]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
samba: import updated rpc security patchset from red hat.
authorArne Fitzenreiter <arne_f@ipfire.org>
Mon, 23 May 2016 21:08:01 +0000 (23:08 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Mon, 23 May 2016 21:08:01 +0000 (23:08 +0200)
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
lfs/samba
src/patches/samba/1-samba.git-82fa625540abf8b8ec23d43c41e2ca906a9928a5.patch [deleted file]
src/patches/samba/2-samba.git-0abef6992dc342d443137f8a2ac6c01f490cecee.patch [deleted file]
src/patches/samba/3-samba.git-2d0424e7bb2c30bf9049529b207c73b55370dfc8.patch [deleted file]
src/patches/samba/CVE-preparation-v3-6.patch

index f7719863546ba09bb4e3ba9477405a824965804b..369f48633435cb06311871998c8244741bf14f65 100644 (file)
--- a/lfs/samba
+++ b/lfs/samba
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = samba
-PAK_VER    = 62
+PAK_VER    = 63
 
 DEPS       = "cups krb5"
 
@@ -88,10 +88,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/samba/CVE-2016-2118-v3-6.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/samba/CVE-2015-5370-v3-6.patch
 
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/samba/1-samba.git-82fa625540abf8b8ec23d43c41e2ca906a9928a5.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/samba/2-samba.git-0abef6992dc342d443137f8a2ac6c01f490cecee.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/samba/3-samba.git-2d0424e7bb2c30bf9049529b207c73b55370dfc8.patch
-
        cd $(DIR_APP)/source3 && ./autogen.sh
        cd $(DIR_APP)/source3 && ./configure \
                --prefix=/usr \
diff --git a/src/patches/samba/1-samba.git-82fa625540abf8b8ec23d43c41e2ca906a9928a5.patch b/src/patches/samba/1-samba.git-82fa625540abf8b8ec23d43c41e2ca906a9928a5.patch
deleted file mode 100644 (file)
index ec449c3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 82fa625540abf8b8ec23d43c41e2ca906a9928a5 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@samba.org>
-Date: Fri, 15 Apr 2016 11:56:08 +0200
-Subject: [PATCH] s3:rpc_server: Fix a regression verifying the security
- trailer
-
-We do not support header signing so we should not check verify it if a
-client sends the flag.
-
-Signed-off-by: Andreas Schneider <asn@samba.org>
-Reviewed-by: Guenther Deschner <gd@samba.org>
----
- source3/rpc_server/srv_pipe.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
-index d659705..fa354a6 100644
---- a/source3/rpc_server/srv_pipe.c
-+++ b/source3/rpc_server/srv_pipe.c
-@@ -1552,7 +1552,6 @@ static bool srv_pipe_check_verification_trailer(struct pipes_struct *p,
- {
-       TALLOC_CTX *frame = talloc_stackframe();
-       struct dcerpc_sec_verification_trailer *vt = NULL;
--      const uint32_t bitmask1 = 0;
-       const struct dcerpc_sec_vt_pcontext pcontext = {
-               .abstract_syntax = pipe_fns->syntax,
-               .transfer_syntax = ndr_transfer_syntax,
-@@ -1573,7 +1572,7 @@ static bool srv_pipe_check_verification_trailer(struct pipes_struct *p,
-               goto done;
-       }
--      ret = dcerpc_sec_verification_trailer_check(vt, &bitmask1,
-+      ret = dcerpc_sec_verification_trailer_check(vt, NULL,
-                                                   &pcontext, &header2);
- done:
-       TALLOC_FREE(frame);
--- 
-1.9.1
-
diff --git a/src/patches/samba/2-samba.git-0abef6992dc342d443137f8a2ac6c01f490cecee.patch b/src/patches/samba/2-samba.git-0abef6992dc342d443137f8a2ac6c01f490cecee.patch
deleted file mode 100644 (file)
index 074653c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0abef6992dc342d443137f8a2ac6c01f490cecee Mon Sep 17 00:00:00 2001
-From: Christian Ambach <ambi@samba.org>
-Date: Wed, 20 Feb 2013 16:59:05 +0100
-Subject: [PATCH] s3:rpc_client fix a crash
-
-state->cli->dc does not have to be set (e.g. when running
-net rpc join against an older Samba PDC), so check it before dereferencing it
-
-This fixes Bug 9669 - net rpc join crashes against a Samba 3.0.33 PDC
-
-Bug: https://bugzilla.samba.org/show_bug.cgi?id=9669
-
-Signed-off-by: Christian Ambach <ambi@samba.org>
-Reviewed-by: Andreas Schneider <asn@samba.org>
-
-Autobuild-User(master): Christian Ambach <ambi@samba.org>
-Autobuild-Date(master): Wed Feb 20 19:00:52 CET 2013 on sn-devel-104
-(cherry picked from commit 3d29bb2d37b02909ecb500e864f3c13e06957a86)
-
-(cherry picked from commit ff658bb36c28c9db91fc80a68725e893ffe300aa)
----
- source3/rpc_client/cli_pipe.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
-index 5ddabb7..a211d92 100644
---- a/source3/rpc_client/cli_pipe.c
-+++ b/source3/rpc_client/cli_pipe.c
-@@ -2136,7 +2136,7 @@ static void rpc_pipe_bind_step_two_done(struct tevent_req *subreq)
-       status = dcerpc_netr_LogonGetCapabilities_r_recv(subreq, talloc_tos());
-       TALLOC_FREE(subreq);
-       if (NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE)) {
--              if (state->cli->dc->negotiate_flags &
-+              if (state->cli->dc && state->cli->dc->negotiate_flags &
-                   NETLOGON_NEG_SUPPORTS_AES) {
-                       DEBUG(5, ("AES is not supported and the error was %s\n",
-                                 nt_errstr(status)));
--- 
-1.9.1
-
diff --git a/src/patches/samba/3-samba.git-2d0424e7bb2c30bf9049529b207c73b55370dfc8.patch b/src/patches/samba/3-samba.git-2d0424e7bb2c30bf9049529b207c73b55370dfc8.patch
deleted file mode 100644 (file)
index 75aedd8..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From 2d0424e7bb2c30bf9049529b207c73b55370dfc8 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@samba.org>
-Date: Tue, 10 Jan 2012 16:38:16 +0100
-Subject: [PATCH] s3-rpc_client: Fix updating netlogon credentials.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Günther Deschner <gd@samba.org>
-(cherry picked from commit 33206b1e240e55acedad606aed4f1952f7496b35)
----
- source3/rpc_client/cli_pipe.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
-index a211d92..92ca494 100644
---- a/source3/rpc_client/cli_pipe.c
-+++ b/source3/rpc_client/cli_pipe.c
-@@ -2128,9 +2128,6 @@ static void rpc_pipe_bind_step_two_done(struct tevent_req *subreq)
-       struct rpc_pipe_bind_state *state =
-               tevent_req_data(req,
-                               struct rpc_pipe_bind_state);
--      struct schannel_state *schannel_auth =
--              talloc_get_type_abort(state->cli->auth->auth_ctx,
--                                    struct schannel_state);
-       NTSTATUS status;
-       status = dcerpc_netr_LogonGetCapabilities_r_recv(subreq, talloc_tos());
-@@ -2188,8 +2185,8 @@ static void rpc_pipe_bind_step_two_done(struct tevent_req *subreq)
-               return;
-       }
--      TALLOC_FREE(schannel_auth->creds);
--      schannel_auth->creds = talloc_steal(state->cli, state->creds);
-+      TALLOC_FREE(state->cli->dc);
-+      state->cli->dc = talloc_steal(state->cli, state->creds);
-       if (!NT_STATUS_IS_OK(state->r.out.result)) {
-               DEBUG(0, ("dcerpc_netr_LogonGetCapabilities_r_recv failed with %s\n",
-@@ -3385,10 +3382,12 @@ NTSTATUS cli_rpc_pipe_open_schannel_with_key(struct cli_state *cli,
-        * The credentials on a new netlogon pipe are the ones we are passed
-        * in - copy them over
-        */
--      result->dc = netlogon_creds_copy(result, *pdc);
-       if (result->dc == NULL) {
--              TALLOC_FREE(result);
--              return NT_STATUS_NO_MEMORY;
-+              result->dc = netlogon_creds_copy(result, *pdc);
-+              if (result->dc == NULL) {
-+                      TALLOC_FREE(result);
-+                      return NT_STATUS_NO_MEMORY;
-+              }
-       }
-       DEBUG(10,("cli_rpc_pipe_open_schannel_with_key: opened pipe %s to machine %s "
--- 
-1.9.1
-
index 48af30c7e729e1a689e8c28aa43891bc59337a66..c4891d6a5dd0d0b822b11a2c2bfcdb41069a89cb 100644 (file)
@@ -1,7 +1,7 @@
 From 39a3fa39967faaf216be8e108ca57d07de1aa95a Mon Sep 17 00:00:00 2001
 From: Vadim Zhukov <persgray@gmail.com>
 Date: Sat, 25 May 2013 15:19:24 +0100
-Subject: [PATCH 01/41] pidl: Recent Perl warns about "defined(@var)"
+Subject: [PATCH 01/44] pidl: Recent Perl warns about "defined(@var)"
  constructs.
 
 Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
@@ -1170,7 +1170,7 @@ Index: samba-3.6.23/source3/Makefile.in
 -        lib/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
 +        ../lib/util/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
          lib/wins_srv.o \
-         lib/util_str.o lib/clobber.o lib/util_sid.o \
+         lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_specialsids.o \
          lib/util_unistr.o ../lib/util/charset/codepoints.o lib/util_file.o \
 @@ -988,7 +989,9 @@ SWAT_OBJ = $(SWAT_OBJ1) $(PARAM_OBJ) $(P
           $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ) \
@@ -2376,7 +2376,7 @@ Index: samba-3.6.23/source3/rpc_client/cli_pipe.c
        case DCERPC_AUTH_TYPE_NTLMSSP:
        case DCERPC_AUTH_TYPE_SPNEGO:
        case DCERPC_AUTH_TYPE_KRB5:
-@@ -1869,6 +2068,153 @@ err_out:
+@@ -1869,6 +2068,150 @@ err_out:
        tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
  }
  
@@ -2440,15 +2440,12 @@ Index: samba-3.6.23/source3/rpc_client/cli_pipe.c
 +      struct rpc_pipe_bind_state *state =
 +              tevent_req_data(req,
 +                              struct rpc_pipe_bind_state);
-+      struct schannel_state *schannel_auth =
-+              talloc_get_type_abort(state->cli->auth->auth_ctx,
-+                                    struct schannel_state);
 +      NTSTATUS status;
 +
 +      status = dcerpc_netr_LogonGetCapabilities_r_recv(subreq, talloc_tos());
 +      TALLOC_FREE(subreq);
 +      if (NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE)) {
-+              if (state->cli->dc->negotiate_flags &
++              if (state->cli->dc && state->cli->dc->negotiate_flags &
 +                  NETLOGON_NEG_SUPPORTS_AES) {
 +                      DEBUG(5, ("AES is not supported and the error was %s\n",
 +                                nt_errstr(status)));
@@ -2500,8 +2497,8 @@ Index: samba-3.6.23/source3/rpc_client/cli_pipe.c
 +              return;
 +      }
 +
-+      TALLOC_FREE(schannel_auth->creds);
-+      schannel_auth->creds = talloc_steal(state->cli, state->creds);
++      TALLOC_FREE(state->cli->dc);
++      state->cli->dc = talloc_steal(state->cli, state->creds);
 +
 +      if (!NT_STATUS_IS_OK(state->r.out.result)) {
 +              DEBUG(0, ("dcerpc_netr_LogonGetCapabilities_r_recv failed with %s\n",
@@ -2530,6 +2527,22 @@ Index: samba-3.6.23/source3/rpc_client/cli_pipe.c
  static NTSTATUS rpc_bind_next_send(struct tevent_req *req,
                                   struct rpc_pipe_bind_state *state,
                                   DATA_BLOB *auth_token)
+@@ -3039,10 +3382,12 @@ NTSTATUS cli_rpc_pipe_open_schannel_with
+        * The credentials on a new netlogon pipe are the ones we are passed
+        * in - copy them over
+        */
+-      result->dc = netlogon_creds_copy(result, *pdc);
+       if (result->dc == NULL) {
+-              TALLOC_FREE(result);
+-              return NT_STATUS_NO_MEMORY;
++              result->dc = netlogon_creds_copy(result, *pdc);
++              if (result->dc == NULL) {
++                      TALLOC_FREE(result);
++                      return NT_STATUS_NO_MEMORY;
++              }
+       }
+       DEBUG(10,("cli_rpc_pipe_open_schannel_with_key: opened pipe %s to machine %s "
 Index: samba-3.6.23/source3/librpc/rpc/dcerpc.h
 ===================================================================
 --- samba-3.6.23.orig/source3/librpc/rpc/dcerpc.h
@@ -3688,7 +3701,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
  
        /* add to the list of open contexts */
  
-@@ -1541,7 +1543,42 @@ static PIPE_RPC_FNS* find_pipe_fns_by_co
+@@ -1541,7 +1543,41 @@ static PIPE_RPC_FNS* find_pipe_fns_by_co
  }
  
  static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt,
@@ -3702,7 +3715,6 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
 +{
 +      TALLOC_CTX *frame = talloc_stackframe();
 +      struct dcerpc_sec_verification_trailer *vt = NULL;
-+      const uint32_t bitmask1 = 0;
 +      const struct dcerpc_sec_vt_pcontext pcontext = {
 +              .abstract_syntax = pipe_fns->syntax,
 +              .transfer_syntax = ndr_transfer_syntax,
@@ -3723,7 +3735,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
 +              goto done;
 +      }
 +
-+      ret = dcerpc_sec_verification_trailer_check(vt, &bitmask1,
++      ret = dcerpc_sec_verification_trailer_check(vt, NULL,
 +                                                  &pcontext, &header2);
 +done:
 +      TALLOC_FREE(frame);
@@ -3732,7 +3744,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
  
  /****************************************************************************
   Find the correct RPC function to call for this request.
-@@ -1552,46 +1589,53 @@ static bool api_rpcTNP(struct pipes_stru
+@@ -1552,46 +1588,53 @@ static bool api_rpcTNP(struct pipes_stru
  static bool api_pipe_request(struct pipes_struct *p,
                                struct ncacn_packet *pkt)
  {
@@ -3811,7 +3823,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
        return ret;
  }
  
-@@ -1600,20 +1644,21 @@ static bool api_pipe_request(struct pipe
+@@ -1600,20 +1643,21 @@ static bool api_pipe_request(struct pipe
   ********************************************************************/
  
  static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt,
@@ -3836,7 +3848,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
                dump_pdu_region(name, pkt->u.request.opnum,
                                &p->in_data.data, 0,
                                p->in_data.data.length);
-@@ -1646,37 +1691,30 @@ static bool api_rpcTNP(struct pipes_stru
+@@ -1646,37 +1690,30 @@ static bool api_rpcTNP(struct pipes_stru
        /* do the actual command */
        if(!api_rpc_cmds[fn_num].fn(p)) {
                DEBUG(0,("api_rpcTNP: %s: %s failed.\n",
@@ -3882,7 +3894,7 @@ Index: samba-3.6.23/source3/rpc_server/srv_pipe.c
  
        /* Check for buffer underflow in rpc parsing */
        if ((DEBUGLEVEL >= 10) &&
-@@ -1718,9 +1756,9 @@ void set_incoming_fault(struct pipes_str
+@@ -1718,9 +1755,9 @@ void set_incoming_fault(struct pipes_str
        data_blob_free(&p->in_data.data);
        p->in_data.pdu_needed_len = 0;
        p->in_data.pdu.length = 0;
@@ -5626,7 +5638,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
 ===================================================================
 --- samba-3.6.23.orig/source3/rpc_server/spoolss/srv_spoolss_nt.c
 +++ samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
-@@ -10201,7 +10201,7 @@ WERROR _spoolss_AddPort(struct pipes_str
+@@ -10207,7 +10207,7 @@ WERROR _spoolss_AddPort(struct pipes_str
  WERROR _spoolss_GetPrinterDriver(struct pipes_struct *p,
                                 struct spoolss_GetPrinterDriver *r)
  {
@@ -5635,7 +5647,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10212,7 +10212,7 @@ WERROR _spoolss_GetPrinterDriver(struct
+@@ -10218,7 +10218,7 @@ WERROR _spoolss_GetPrinterDriver(struct
  WERROR _spoolss_ReadPrinter(struct pipes_struct *p,
                            struct spoolss_ReadPrinter *r)
  {
@@ -5644,7 +5656,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10223,7 +10223,7 @@ WERROR _spoolss_ReadPrinter(struct pipes
+@@ -10229,7 +10229,7 @@ WERROR _spoolss_ReadPrinter(struct pipes
  WERROR _spoolss_WaitForPrinterChange(struct pipes_struct *p,
                                     struct spoolss_WaitForPrinterChange *r)
  {
@@ -5653,7 +5665,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10234,7 +10234,7 @@ WERROR _spoolss_WaitForPrinterChange(str
+@@ -10240,7 +10240,7 @@ WERROR _spoolss_WaitForPrinterChange(str
  WERROR _spoolss_ConfigurePort(struct pipes_struct *p,
                              struct spoolss_ConfigurePort *r)
  {
@@ -5662,7 +5674,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10245,7 +10245,7 @@ WERROR _spoolss_ConfigurePort(struct pip
+@@ -10251,7 +10251,7 @@ WERROR _spoolss_ConfigurePort(struct pip
  WERROR _spoolss_DeletePort(struct pipes_struct *p,
                           struct spoolss_DeletePort *r)
  {
@@ -5671,7 +5683,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10256,7 +10256,7 @@ WERROR _spoolss_DeletePort(struct pipes_
+@@ -10262,7 +10262,7 @@ WERROR _spoolss_DeletePort(struct pipes_
  WERROR _spoolss_CreatePrinterIC(struct pipes_struct *p,
                                struct spoolss_CreatePrinterIC *r)
  {
@@ -5680,7 +5692,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10267,7 +10267,7 @@ WERROR _spoolss_CreatePrinterIC(struct p
+@@ -10273,7 +10273,7 @@ WERROR _spoolss_CreatePrinterIC(struct p
  WERROR _spoolss_PlayGDIScriptOnPrinterIC(struct pipes_struct *p,
                                         struct spoolss_PlayGDIScriptOnPrinterIC *r)
  {
@@ -5689,7 +5701,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10278,7 +10278,7 @@ WERROR _spoolss_PlayGDIScriptOnPrinterIC
+@@ -10284,7 +10284,7 @@ WERROR _spoolss_PlayGDIScriptOnPrinterIC
  WERROR _spoolss_DeletePrinterIC(struct pipes_struct *p,
                                struct spoolss_DeletePrinterIC *r)
  {
@@ -5698,7 +5710,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10289,7 +10289,7 @@ WERROR _spoolss_DeletePrinterIC(struct p
+@@ -10295,7 +10295,7 @@ WERROR _spoolss_DeletePrinterIC(struct p
  WERROR _spoolss_AddPrinterConnection(struct pipes_struct *p,
                                     struct spoolss_AddPrinterConnection *r)
  {
@@ -5707,7 +5719,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10300,7 +10300,7 @@ WERROR _spoolss_AddPrinterConnection(str
+@@ -10306,7 +10306,7 @@ WERROR _spoolss_AddPrinterConnection(str
  WERROR _spoolss_DeletePrinterConnection(struct pipes_struct *p,
                                        struct spoolss_DeletePrinterConnection *r)
  {
@@ -5716,7 +5728,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10311,7 +10311,7 @@ WERROR _spoolss_DeletePrinterConnection(
+@@ -10317,7 +10317,7 @@ WERROR _spoolss_DeletePrinterConnection(
  WERROR _spoolss_PrinterMessageBox(struct pipes_struct *p,
                                  struct spoolss_PrinterMessageBox *r)
  {
@@ -5725,7 +5737,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10322,7 +10322,7 @@ WERROR _spoolss_PrinterMessageBox(struct
+@@ -10328,7 +10328,7 @@ WERROR _spoolss_PrinterMessageBox(struct
  WERROR _spoolss_AddMonitor(struct pipes_struct *p,
                           struct spoolss_AddMonitor *r)
  {
@@ -5734,7 +5746,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10333,7 +10333,7 @@ WERROR _spoolss_AddMonitor(struct pipes_
+@@ -10339,7 +10339,7 @@ WERROR _spoolss_AddMonitor(struct pipes_
  WERROR _spoolss_DeleteMonitor(struct pipes_struct *p,
                              struct spoolss_DeleteMonitor *r)
  {
@@ -5743,7 +5755,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10344,7 +10344,7 @@ WERROR _spoolss_DeleteMonitor(struct pip
+@@ -10350,7 +10350,7 @@ WERROR _spoolss_DeleteMonitor(struct pip
  WERROR _spoolss_DeletePrintProcessor(struct pipes_struct *p,
                                     struct spoolss_DeletePrintProcessor *r)
  {
@@ -5752,7 +5764,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10355,7 +10355,7 @@ WERROR _spoolss_DeletePrintProcessor(str
+@@ -10361,7 +10361,7 @@ WERROR _spoolss_DeletePrintProcessor(str
  WERROR _spoolss_AddPrintProvidor(struct pipes_struct *p,
                                 struct spoolss_AddPrintProvidor *r)
  {
@@ -5761,7 +5773,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10366,7 +10366,7 @@ WERROR _spoolss_AddPrintProvidor(struct
+@@ -10372,7 +10372,7 @@ WERROR _spoolss_AddPrintProvidor(struct
  WERROR _spoolss_DeletePrintProvidor(struct pipes_struct *p,
                                    struct spoolss_DeletePrintProvidor *r)
  {
@@ -5770,7 +5782,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10377,7 +10377,7 @@ WERROR _spoolss_DeletePrintProvidor(stru
+@@ -10383,7 +10383,7 @@ WERROR _spoolss_DeletePrintProvidor(stru
  WERROR _spoolss_FindFirstPrinterChangeNotification(struct pipes_struct *p,
                                                   struct spoolss_FindFirstPrinterChangeNotification *r)
  {
@@ -5779,7 +5791,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10388,7 +10388,7 @@ WERROR _spoolss_FindFirstPrinterChangeNo
+@@ -10394,7 +10394,7 @@ WERROR _spoolss_FindFirstPrinterChangeNo
  WERROR _spoolss_FindNextPrinterChangeNotification(struct pipes_struct *p,
                                                  struct spoolss_FindNextPrinterChangeNotification *r)
  {
@@ -5788,7 +5800,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10399,7 +10399,7 @@ WERROR _spoolss_FindNextPrinterChangeNot
+@@ -10405,7 +10405,7 @@ WERROR _spoolss_FindNextPrinterChangeNot
  WERROR _spoolss_RouterFindFirstPrinterChangeNotificationOld(struct pipes_struct *p,
                                                            struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r)
  {
@@ -5797,7 +5809,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10410,7 +10410,7 @@ WERROR _spoolss_RouterFindFirstPrinterCh
+@@ -10416,7 +10416,7 @@ WERROR _spoolss_RouterFindFirstPrinterCh
  WERROR _spoolss_ReplyOpenPrinter(struct pipes_struct *p,
                                 struct spoolss_ReplyOpenPrinter *r)
  {
@@ -5806,7 +5818,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10421,7 +10421,7 @@ WERROR _spoolss_ReplyOpenPrinter(struct
+@@ -10427,7 +10427,7 @@ WERROR _spoolss_ReplyOpenPrinter(struct
  WERROR _spoolss_RouterReplyPrinter(struct pipes_struct *p,
                                   struct spoolss_RouterReplyPrinter *r)
  {
@@ -5815,7 +5827,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10432,7 +10432,7 @@ WERROR _spoolss_RouterReplyPrinter(struc
+@@ -10438,7 +10438,7 @@ WERROR _spoolss_RouterReplyPrinter(struc
  WERROR _spoolss_ReplyClosePrinter(struct pipes_struct *p,
                                  struct spoolss_ReplyClosePrinter *r)
  {
@@ -5824,7 +5836,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10443,7 +10443,7 @@ WERROR _spoolss_ReplyClosePrinter(struct
+@@ -10449,7 +10449,7 @@ WERROR _spoolss_ReplyClosePrinter(struct
  WERROR _spoolss_AddPortEx(struct pipes_struct *p,
                          struct spoolss_AddPortEx *r)
  {
@@ -5833,7 +5845,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10454,7 +10454,7 @@ WERROR _spoolss_AddPortEx(struct pipes_s
+@@ -10460,7 +10460,7 @@ WERROR _spoolss_AddPortEx(struct pipes_s
  WERROR _spoolss_RouterFindFirstPrinterChangeNotification(struct pipes_struct *p,
                                                         struct spoolss_RouterFindFirstPrinterChangeNotification *r)
  {
@@ -5842,7 +5854,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10465,7 +10465,7 @@ WERROR _spoolss_RouterFindFirstPrinterCh
+@@ -10471,7 +10471,7 @@ WERROR _spoolss_RouterFindFirstPrinterCh
  WERROR _spoolss_SpoolerInit(struct pipes_struct *p,
                            struct spoolss_SpoolerInit *r)
  {
@@ -5851,7 +5863,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10476,7 +10476,7 @@ WERROR _spoolss_SpoolerInit(struct pipes
+@@ -10482,7 +10482,7 @@ WERROR _spoolss_SpoolerInit(struct pipes
  WERROR _spoolss_ResetPrinterEx(struct pipes_struct *p,
                               struct spoolss_ResetPrinterEx *r)
  {
@@ -5860,7 +5872,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10487,7 +10487,7 @@ WERROR _spoolss_ResetPrinterEx(struct pi
+@@ -10493,7 +10493,7 @@ WERROR _spoolss_ResetPrinterEx(struct pi
  WERROR _spoolss_RouterReplyPrinterEx(struct pipes_struct *p,
                                     struct spoolss_RouterReplyPrinterEx *r)
  {
@@ -5869,7 +5881,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10498,7 +10498,7 @@ WERROR _spoolss_RouterReplyPrinterEx(str
+@@ -10504,7 +10504,7 @@ WERROR _spoolss_RouterReplyPrinterEx(str
  WERROR _spoolss_44(struct pipes_struct *p,
                   struct spoolss_44 *r)
  {
@@ -5878,7 +5890,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10509,7 +10509,7 @@ WERROR _spoolss_44(struct pipes_struct *
+@@ -10515,7 +10515,7 @@ WERROR _spoolss_44(struct pipes_struct *
  WERROR _spoolss_SetPort(struct pipes_struct *p,
                        struct spoolss_SetPort *r)
  {
@@ -5887,7 +5899,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10520,7 +10520,7 @@ WERROR _spoolss_SetPort(struct pipes_str
+@@ -10526,7 +10526,7 @@ WERROR _spoolss_SetPort(struct pipes_str
  WERROR _spoolss_4a(struct pipes_struct *p,
                   struct spoolss_4a *r)
  {
@@ -5896,7 +5908,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10531,7 +10531,7 @@ WERROR _spoolss_4a(struct pipes_struct *
+@@ -10537,7 +10537,7 @@ WERROR _spoolss_4a(struct pipes_struct *
  WERROR _spoolss_4b(struct pipes_struct *p,
                   struct spoolss_4b *r)
  {
@@ -5905,7 +5917,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10542,7 +10542,7 @@ WERROR _spoolss_4b(struct pipes_struct *
+@@ -10548,7 +10548,7 @@ WERROR _spoolss_4b(struct pipes_struct *
  WERROR _spoolss_4c(struct pipes_struct *p,
                   struct spoolss_4c *r)
  {
@@ -5914,7 +5926,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10553,7 +10553,7 @@ WERROR _spoolss_4c(struct pipes_struct *
+@@ -10559,7 +10559,7 @@ WERROR _spoolss_4c(struct pipes_struct *
  WERROR _spoolss_53(struct pipes_struct *p,
                   struct spoolss_53 *r)
  {
@@ -5923,7 +5935,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10564,7 +10564,7 @@ WERROR _spoolss_53(struct pipes_struct *
+@@ -10570,7 +10570,7 @@ WERROR _spoolss_53(struct pipes_struct *
  WERROR _spoolss_AddPerMachineConnection(struct pipes_struct *p,
                                        struct spoolss_AddPerMachineConnection *r)
  {
@@ -5932,7 +5944,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10575,7 +10575,7 @@ WERROR _spoolss_AddPerMachineConnection(
+@@ -10581,7 +10581,7 @@ WERROR _spoolss_AddPerMachineConnection(
  WERROR _spoolss_DeletePerMachineConnection(struct pipes_struct *p,
                                           struct spoolss_DeletePerMachineConnection *r)
  {
@@ -5941,7 +5953,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10586,7 +10586,7 @@ WERROR _spoolss_DeletePerMachineConnecti
+@@ -10592,7 +10592,7 @@ WERROR _spoolss_DeletePerMachineConnecti
  WERROR _spoolss_EnumPerMachineConnections(struct pipes_struct *p,
                                          struct spoolss_EnumPerMachineConnections *r)
  {
@@ -5950,7 +5962,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10597,7 +10597,7 @@ WERROR _spoolss_EnumPerMachineConnection
+@@ -10603,7 +10603,7 @@ WERROR _spoolss_EnumPerMachineConnection
  WERROR _spoolss_5a(struct pipes_struct *p,
                   struct spoolss_5a *r)
  {
@@ -5959,7 +5971,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10608,7 +10608,7 @@ WERROR _spoolss_5a(struct pipes_struct *
+@@ -10614,7 +10614,7 @@ WERROR _spoolss_5a(struct pipes_struct *
  WERROR _spoolss_5b(struct pipes_struct *p,
                   struct spoolss_5b *r)
  {
@@ -5968,7 +5980,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10619,7 +10619,7 @@ WERROR _spoolss_5b(struct pipes_struct *
+@@ -10625,7 +10625,7 @@ WERROR _spoolss_5b(struct pipes_struct *
  WERROR _spoolss_5c(struct pipes_struct *p,
                   struct spoolss_5c *r)
  {
@@ -5977,7 +5989,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10630,7 +10630,7 @@ WERROR _spoolss_5c(struct pipes_struct *
+@@ -10636,7 +10636,7 @@ WERROR _spoolss_5c(struct pipes_struct *
  WERROR _spoolss_5d(struct pipes_struct *p,
                   struct spoolss_5d *r)
  {
@@ -5986,7 +5998,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10641,7 +10641,7 @@ WERROR _spoolss_5d(struct pipes_struct *
+@@ -10647,7 +10647,7 @@ WERROR _spoolss_5d(struct pipes_struct *
  WERROR _spoolss_5e(struct pipes_struct *p,
                   struct spoolss_5e *r)
  {
@@ -5995,7 +6007,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10652,7 +10652,7 @@ WERROR _spoolss_5e(struct pipes_struct *
+@@ -10658,7 +10658,7 @@ WERROR _spoolss_5e(struct pipes_struct *
  WERROR _spoolss_5f(struct pipes_struct *p,
                   struct spoolss_5f *r)
  {
@@ -6004,7 +6016,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10663,7 +10663,7 @@ WERROR _spoolss_5f(struct pipes_struct *
+@@ -10669,7 +10669,7 @@ WERROR _spoolss_5f(struct pipes_struct *
  WERROR _spoolss_60(struct pipes_struct *p,
                   struct spoolss_60 *r)
  {
@@ -6013,7 +6025,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10674,7 +10674,7 @@ WERROR _spoolss_60(struct pipes_struct *
+@@ -10680,7 +10680,7 @@ WERROR _spoolss_60(struct pipes_struct *
  WERROR _spoolss_61(struct pipes_struct *p,
                   struct spoolss_61 *r)
  {
@@ -6022,7 +6034,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10685,7 +10685,7 @@ WERROR _spoolss_61(struct pipes_struct *
+@@ -10691,7 +10691,7 @@ WERROR _spoolss_61(struct pipes_struct *
  WERROR _spoolss_62(struct pipes_struct *p,
                   struct spoolss_62 *r)
  {
@@ -6031,7 +6043,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10696,7 +10696,7 @@ WERROR _spoolss_62(struct pipes_struct *
+@@ -10702,7 +10702,7 @@ WERROR _spoolss_62(struct pipes_struct *
  WERROR _spoolss_63(struct pipes_struct *p,
                   struct spoolss_63 *r)
  {
@@ -6040,7 +6052,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10707,7 +10707,7 @@ WERROR _spoolss_63(struct pipes_struct *
+@@ -10713,7 +10713,7 @@ WERROR _spoolss_63(struct pipes_struct *
  WERROR _spoolss_64(struct pipes_struct *p,
                   struct spoolss_64 *r)
  {
@@ -6049,7 +6061,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10718,7 +10718,7 @@ WERROR _spoolss_64(struct pipes_struct *
+@@ -10724,7 +10724,7 @@ WERROR _spoolss_64(struct pipes_struct *
  WERROR _spoolss_65(struct pipes_struct *p,
                   struct spoolss_65 *r)
  {
@@ -6058,7 +6070,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10729,7 +10729,7 @@ WERROR _spoolss_65(struct pipes_struct *
+@@ -10735,7 +10735,7 @@ WERROR _spoolss_65(struct pipes_struct *
  WERROR _spoolss_GetCorePrinterDrivers(struct pipes_struct *p,
                                      struct spoolss_GetCorePrinterDrivers *r)
  {
@@ -6067,7 +6079,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10740,7 +10740,7 @@ WERROR _spoolss_GetCorePrinterDrivers(st
+@@ -10746,7 +10746,7 @@ WERROR _spoolss_GetCorePrinterDrivers(st
  WERROR _spoolss_67(struct pipes_struct *p,
                   struct spoolss_67 *r)
  {
@@ -6076,7 +6088,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10751,7 +10751,7 @@ WERROR _spoolss_67(struct pipes_struct *
+@@ -10757,7 +10757,7 @@ WERROR _spoolss_67(struct pipes_struct *
  WERROR _spoolss_GetPrinterDriverPackagePath(struct pipes_struct *p,
                                            struct spoolss_GetPrinterDriverPackagePath *r)
  {
@@ -6085,7 +6097,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10762,7 +10762,7 @@ WERROR _spoolss_GetPrinterDriverPackageP
+@@ -10768,7 +10768,7 @@ WERROR _spoolss_GetPrinterDriverPackageP
  WERROR _spoolss_69(struct pipes_struct *p,
                   struct spoolss_69 *r)
  {
@@ -6094,7 +6106,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10773,7 +10773,7 @@ WERROR _spoolss_69(struct pipes_struct *
+@@ -10779,7 +10779,7 @@ WERROR _spoolss_69(struct pipes_struct *
  WERROR _spoolss_6a(struct pipes_struct *p,
                   struct spoolss_6a *r)
  {
@@ -6103,7 +6115,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10784,7 +10784,7 @@ WERROR _spoolss_6a(struct pipes_struct *
+@@ -10790,7 +10790,7 @@ WERROR _spoolss_6a(struct pipes_struct *
  WERROR _spoolss_6b(struct pipes_struct *p,
                   struct spoolss_6b *r)
  {
@@ -6112,7 +6124,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10795,7 +10795,7 @@ WERROR _spoolss_6b(struct pipes_struct *
+@@ -10801,7 +10801,7 @@ WERROR _spoolss_6b(struct pipes_struct *
  WERROR _spoolss_6c(struct pipes_struct *p,
                   struct spoolss_6c *r)
  {
@@ -6121,7 +6133,7 @@ Index: samba-3.6.23/source3/rpc_server/spoolss/srv_spoolss_nt.c
        return WERR_NOT_SUPPORTED;
  }
  
-@@ -10806,6 +10806,6 @@ WERROR _spoolss_6c(struct pipes_struct *
+@@ -10812,6 +10812,6 @@ WERROR _spoolss_6c(struct pipes_struct *
  WERROR _spoolss_6d(struct pipes_struct *p,
                   struct spoolss_6d *r)
  {