[SCM] Samba Shared Repository - branch master updated - 7f8bc6a2d904bd5b5c056ec96a68ee928659324a

Günther Deschner gd at samba.org
Fri Oct 31 11:46:43 GMT 2008


The branch, master has been updated
       via  7f8bc6a2d904bd5b5c056ec96a68ee928659324a (commit)
      from  e311becaad4945c31bc7e3bec5e4be6073c94e82 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7f8bc6a2d904bd5b5c056ec96a68ee928659324a
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 23:21:06 2008 +0100

    errors: share dcerpc error function.
    
    Guenther

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

Summary of changes:
 {source4/librpc => librpc}/rpc/dcerpc_error.c |   10 ++--
 source3/Makefile.in                           |    2 +-
 source3/include/proto.h                       |    4 +-
 source3/libsmb/dcerpc_err.c                   |   55 -------------------------
 source3/rpc_client/cli_pipe.c                 |    2 +-
 source3/rpc_parse/parse_prs.c                 |    2 +-
 source4/librpc/config.mk                      |    4 +-
 7 files changed, 12 insertions(+), 67 deletions(-)
 rename {source4/librpc => librpc}/rpc/dcerpc_error.c (98%)
 delete mode 100644 source3/libsmb/dcerpc_err.c


Changeset truncated at 500 lines:

diff --git a/source4/librpc/rpc/dcerpc_error.c b/librpc/rpc/dcerpc_error.c
similarity index 98%
rename from source4/librpc/rpc/dcerpc_error.c
rename to librpc/rpc/dcerpc_error.c
index 6ea4563..dbab783 100644
--- a/source4/librpc/rpc/dcerpc_error.c
+++ b/librpc/rpc/dcerpc_error.c
@@ -1,20 +1,20 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
 
    dcerpc fault functions
 
    Copyright (C) Stefan Metzmacher 2004
-   
+
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
@@ -37,7 +37,7 @@ static const struct dcerpc_fault_table dcerpc_faults[] =
 	{ "DCERPC_FAULT_OTHER",			DCERPC_FAULT_OTHER },
 	{ "DCERPC_FAULT_ACCESS_DENIED",		DCERPC_FAULT_ACCESS_DENIED },
 
-	{ NULL,					0}	
+	{ NULL,					0}
 };
 
 _PUBLIC_ const char *dcerpc_errstr(TALLOC_CTX *mem_ctx, uint32_t fault_code)
diff --git a/source3/Makefile.in b/source3/Makefile.in
index eae7dad..c737b32 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -406,7 +406,7 @@ LIBNMB_OBJ = libsmb/unexpected.o libsmb/namecache.o libsmb/nmblib.o \
 NTERR_OBJ = libsmb/nterr.o
 DOSERR_OBJ = libsmb/doserr.o
 ERRORMAP_OBJ = libsmb/errormap.o
-DCE_RPC_ERR_OBJ = libsmb/dcerpc_err.o
+DCE_RPC_ERR_OBJ = ../librpc/rpc/dcerpc_error.o
 
 LIBSMB_ERR_OBJ0 = $(NTERR_OBJ) $(DOSERR_OBJ) $(ERRORMAP_OBJ) $(DCE_RPC_ERR_OBJ) \
 		  libsmb/smbdes.o libsmb/smbencrypt.o libsmb/ntlmssp_parse.o
diff --git a/source3/include/proto.h b/source3/include/proto.h
index f982f43..65dda2a 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -3072,9 +3072,9 @@ bool netlogon_creds_client_check(const struct dcinfo *dc,
 void netlogon_creds_client_step(struct dcinfo *dc,
 				struct netr_Authenticator *next_cred_out);
 
-/* The following definitions come from libsmb/dcerpc_err.c  */
+/* The following definitions come from ../librpc/rpc/dcerpc_error.c  */
 
-const char *dcerpc_errstr(uint32 fault_code);
+const char *dcerpc_errstr(TALLOC_CTX *mem_ctx, uint32_t fault_code);
 
 /* The following definitions come from libsmb/doserr.c  */
 
diff --git a/source3/libsmb/dcerpc_err.c b/source3/libsmb/dcerpc_err.c
deleted file mode 100644
index 900b8d7..0000000
--- a/source3/libsmb/dcerpc_err.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* 
- *  Unix SMB/CIFS implementation.
- *  Copyright (C) Stefan Metzmacher 2004
- *  
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *  
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *  
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "includes.h"
-
-struct dcerpc_fault_table {
-	const char *errstr;
-	uint32_t faultcode;
-};
-
-static const struct dcerpc_fault_table dcerpc_faults[] =
-{
-	{ "DCERPC_FAULT_OP_RNG_ERROR",		DCERPC_FAULT_OP_RNG_ERROR },
-	{ "DCERPC_FAULT_UNK_IF",		DCERPC_FAULT_UNK_IF },
-	{ "DCERPC_FAULT_NDR",			DCERPC_FAULT_NDR },
-	{ "DCERPC_FAULT_INVALID_TAG",		DCERPC_FAULT_INVALID_TAG },
-	{ "DCERPC_FAULT_CONTEXT_MISMATCH",	DCERPC_FAULT_CONTEXT_MISMATCH },
-	{ "DCERPC_FAULT_OTHER",			DCERPC_FAULT_OTHER },
-	{ "DCERPC_FAULT_ACCESS_DENIED",		DCERPC_FAULT_ACCESS_DENIED },
-
-	{ NULL,					0}	
-};
-
-const char *dcerpc_errstr(uint32 fault_code)
-{
-	char *result;
-	int idx = 0;
-
-	while (dcerpc_faults[idx].errstr != NULL) {
-		if (dcerpc_faults[idx].faultcode == fault_code) {
-			return dcerpc_faults[idx].errstr;
-		}
-		idx++;
-	}
-
-	result = talloc_asprintf(talloc_tos(), "DCERPC fault 0x%08x",
-				 fault_code);
-	SMB_ASSERT(result != NULL);
-	return result;
-}
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
index ca9d339..f0c2f67 100644
--- a/source3/rpc_client/cli_pipe.c
+++ b/source3/rpc_client/cli_pipe.c
@@ -751,7 +751,7 @@ static NTSTATUS cli_pipe_validate_current_pdu(struct rpc_pipe_client *cli, RPC_H
 
 			DEBUG(1, ("cli_pipe_validate_current_pdu: RPC fault "
 				  "code %s received from %s!\n",
-				dcerpc_errstr(NT_STATUS_V(fault_resp.status)),
+				dcerpc_errstr(debug_ctx(), NT_STATUS_V(fault_resp.status)),
 				rpccli_pipe_txt(debug_ctx(), cli)));
 			if (NT_STATUS_IS_OK(fault_resp.status)) {
 				return NT_STATUS_UNSUCCESSFUL;
diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c
index 5eb6c31..504cebb 100644
--- a/source3/rpc_parse/parse_prs.c
+++ b/source3/rpc_parse/parse_prs.c
@@ -812,7 +812,7 @@ bool prs_dcerpc_status(const char *name, prs_struct *ps, int depth, NTSTATUS *st
 	}
 
 	DEBUG(5,("%s%04x %s: %s\n", tab_depth(5,depth), ps->data_offset, name, 
-		 dcerpc_errstr(NT_STATUS_V(*status))));
+		 dcerpc_errstr(debug_ctx(), NT_STATUS_V(*status))));
 
 	ps->data_offset += sizeof(uint32);
 
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index a988dcf..b2b9f2e 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -613,8 +613,8 @@ dcerpc_VERSION = 0.0.1
 dcerpc_SOVERSION = 0
 
 dcerpc_OBJ_FILES = $(addprefix $(dcerpcsrcdir)/, dcerpc.o dcerpc_auth.o dcerpc_schannel.o dcerpc_util.o \
-				  dcerpc_error.o dcerpc_smb.o dcerpc_smb2.o dcerpc_sock.o dcerpc_connect.o dcerpc_secondary.o) \
-					../librpc/rpc/binding.o
+				  dcerpc_smb.o dcerpc_smb2.o dcerpc_sock.o dcerpc_connect.o dcerpc_secondary.o) \
+					../librpc/rpc/binding.o ../librpc/rpc/dcerpc_error.o
 
 $(eval $(call proto_header_template,$(dcerpcsrcdir)/dcerpc_proto.h,$(dcerpc_OBJ_FILES:.o=.c)))
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list