mirror of
https://github.com/samba-team/samba.git
synced 2025-03-01 04:58:35 +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);
|
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 */
|
/* we need these here for openchange */
|
||||||
#ifndef likely
|
#ifndef likely
|
||||||
#define likely(x) (x)
|
#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_OK(x) (likely(NT_STATUS_V(x) == 0))
|
||||||
#define NT_STATUS_IS_ERR(x) (unlikely((NT_STATUS_V(x) & 0xc0000000) == 0xc0000000))
|
#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))
|
#define NT_STATUS_EQUAL(x,y) (NT_STATUS_V(x) == NT_STATUS_V(y))
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NT_STATUS_HAVE_NO_MEMORY(x) do { \
|
#define NT_STATUS_HAVE_NO_MEMORY(x) do { \
|
||||||
if (unlikely(!(x))) { \
|
if (unlikely(!(x))) { \
|
||||||
|
@ -570,41 +570,6 @@ static const struct {
|
|||||||
{ WERR_OK, NT_STATUS_OK }
|
{ 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 */
|
/* Mapping between Unix, and NT error numbers */
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
|
@ -2622,8 +2622,6 @@ static bool lpcfg_update(struct loadparm_context *lp_ctx)
|
|||||||
settings.timestamp_logs = true;
|
settings.timestamp_logs = true;
|
||||||
debug_set_settings(&settings);
|
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
|
/* 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 */
|
* not everything that uses lp also uses the socket library */
|
||||||
if (lpcfg_parm_bool(lp_ctx, NULL, "socket", "testnonblock", false)) {
|
if (lpcfg_parm_bool(lp_ctx, NULL, "socket", "testnonblock", false)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user