mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
libcli/util Remove ntstatus_check_dos_mapping
This has been set to true since the global loadparm was removed in 2008, and removes an #ifdef SAMBA_BUILD == 4 Andrew Bartlett
This commit is contained in:
parent
4ac4ad2108
commit
c004a932c4
@ -648,9 +648,6 @@ const char *get_nt_error_c_code(void *mem_ctx, NTSTATUS nt_code);
|
||||
*****************************************************************************/
|
||||
NTSTATUS nt_status_string_to_code(const char *nt_status_str);
|
||||
|
||||
/** Used by ntstatus_dos_equal: */
|
||||
extern bool ntstatus_check_dos_mapping;
|
||||
|
||||
/* we need these here for openchange */
|
||||
#ifndef likely
|
||||
#define likely(x) (x)
|
||||
@ -661,13 +658,7 @@ extern bool ntstatus_check_dos_mapping;
|
||||
|
||||
#define NT_STATUS_IS_OK(x) (likely(NT_STATUS_V(x) == 0))
|
||||
#define NT_STATUS_IS_ERR(x) (unlikely((NT_STATUS_V(x) & 0xc0000000) == 0xc0000000))
|
||||
/* checking for DOS error mapping here is ugly, but unfortunately the
|
||||
alternative is a very intrusive rewrite of the torture code */
|
||||
#if _SAMBA_BUILD_ == 4
|
||||
#define NT_STATUS_EQUAL(x,y) (NT_STATUS_IS_DOS(x)||NT_STATUS_IS_DOS(y)?ntstatus_dos_equal(x,y):NT_STATUS_V(x) == NT_STATUS_V(y))
|
||||
#else
|
||||
#define NT_STATUS_EQUAL(x,y) (NT_STATUS_V(x) == NT_STATUS_V(y))
|
||||
#endif
|
||||
|
||||
#define NT_STATUS_HAVE_NO_MEMORY(x) do { \
|
||||
if (unlikely(!(x))) { \
|
||||
|
@ -570,41 +570,6 @@ static const struct {
|
||||
{ WERR_OK, NT_STATUS_OK }
|
||||
};
|
||||
|
||||
bool ntstatus_check_dos_mapping = true;
|
||||
|
||||
/*
|
||||
check if a DOS encoded NTSTATUS code maps to the given NTSTATUS code
|
||||
*/
|
||||
bool ntstatus_dos_equal(NTSTATUS status1, NTSTATUS status2)
|
||||
{
|
||||
/* when we negotiate nt status support, we don't want to consider
|
||||
the mapping of dos codes, as we want to catch the cases where
|
||||
a forced dos code is needed
|
||||
*/
|
||||
if (ntstatus_check_dos_mapping) {
|
||||
return NT_STATUS_V(status1) == NT_STATUS_V(status2);
|
||||
}
|
||||
|
||||
/* otherwise check if the mapping comes out right. Note that it is important
|
||||
that we do the mapping only from ntstatus -> dos and not from dos -> ntstatus,
|
||||
as that is the mapping that servers must do */
|
||||
if (!NT_STATUS_IS_DOS(status1) && NT_STATUS_IS_DOS(status2)) {
|
||||
uint8_t eclass;
|
||||
uint32_t ecode;
|
||||
ntstatus_to_dos(status1, &eclass, &ecode);
|
||||
return eclass == NT_STATUS_DOS_CLASS(status2) &&
|
||||
ecode == NT_STATUS_DOS_CODE(status2);
|
||||
}
|
||||
if (NT_STATUS_IS_DOS(status1) && !NT_STATUS_IS_DOS(status2)) {
|
||||
uint8_t eclass;
|
||||
uint32_t ecode;
|
||||
ntstatus_to_dos(status2, &eclass, &ecode);
|
||||
return eclass == NT_STATUS_DOS_CLASS(status1) &&
|
||||
ecode == NT_STATUS_DOS_CODE(status1);
|
||||
}
|
||||
return NT_STATUS_V(status1) == NT_STATUS_V(status2);
|
||||
}
|
||||
|
||||
/* Mapping between Unix, and NT error numbers */
|
||||
|
||||
static const struct {
|
||||
|
@ -2622,8 +2622,6 @@ static bool lpcfg_update(struct loadparm_context *lp_ctx)
|
||||
settings.timestamp_logs = true;
|
||||
debug_set_settings(&settings);
|
||||
|
||||
/* FIXME: ntstatus_check_dos_mapping = lpcfg_nt_status_support(lp_ctx); */
|
||||
|
||||
/* FIXME: This is a bit of a hack, but we can't use a global, since
|
||||
* not everything that uses lp also uses the socket library */
|
||||
if (lpcfg_parm_bool(lp_ctx, NULL, "socket", "testnonblock", false)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user