-/*
+/*
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/>.
*/
{ "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)
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
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 */
+++ /dev/null
-/*
- * 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;
-}
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;
}
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);
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)))