[SCM] Samba Shared Repository - branch master updated
Günther Deschner
gd at samba.org
Thu Mar 3 18:12:01 MST 2011
The branch, master has been updated
via e63f0df s3-waf: add wildcard commands from main wscript.
via ef87f97 s3-nterr: use strcasecmp in nt_status_string_to_code().
via dc35442 s4-nterr: move auth_nt_status_squash to nt_status_squash and move to nterr.c
via 9f4b3b1 s4-nterr: some minor cosmetic edits to further match s3 nterr.
via d367777 s3-nterr: within nt_errstr() compare codes using NT_STATUS_V().
via 199809b nterr: make sure both nt_err_desc structs are the same.
via 45710a0 nterr: make sure both nt_errs structs are the same.
via 648a9fb s4-nterr: add _N macro handling as in s3-nterr.
via c1089c1 s3-nterr: make nt_err_desc static const.
via cb8c0e1 nterr: remove space indents (use tabs instead), following coding standards.
via 2f46942 nterr: remove trailing whitespace.
from 6b3d68f s3-waf: add check for SEEKDIR_RETURNS_VOID.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e63f0dfba173e9553ec2bb009b58113b4270f437
Author: Günther Deschner <gd at samba.org>
Date: Wed Mar 2 23:13:29 2011 +0100
s3-waf: add wildcard commands from main wscript.
Guenther
Autobuild-User: Günther Deschner <gd at samba.org>
Autobuild-Date: Fri Mar 4 02:11:11 CET 2011 on sn-devel-104
commit ef87f970b324d20cdd1b754a3096cf47b78a490f
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 01:11:43 2011 +0100
s3-nterr: use strcasecmp in nt_status_string_to_code().
Guenther
commit dc35442fb163c6f14cf8c5730056a4a094ead85a
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 01:05:33 2011 +0100
s4-nterr: move auth_nt_status_squash to nt_status_squash and move to nterr.c
Guenther
commit 9f4b3b103fea1f2b5f54bae79a86b1490ddc21eb
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 00:41:11 2011 +0100
s4-nterr: some minor cosmetic edits to further match s3 nterr.
Guenther
commit d36777735282b7d22c7d5e21f525c4f24fd774b1
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 00:39:44 2011 +0100
s3-nterr: within nt_errstr() compare codes using NT_STATUS_V().
This is to avoid future very special NT_STATUS_EQUAL semantics within s4.
Guenther
commit 199809b3cc51109aca9b8f2c4f21bd5bf69d36c5
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 00:06:13 2011 +0100
nterr: make sure both nt_err_desc structs are the same.
Guenther
commit 45710a05c5daccc3f1b2127ce24a87850fc42e33
Author: Günther Deschner <gd at samba.org>
Date: Wed Mar 2 23:51:56 2011 +0100
nterr: make sure both nt_errs structs are the same.
Guenther
commit 648a9fbc033c7949cfe01052802d314c55da6138
Author: Günther Deschner <gd at samba.org>
Date: Wed Mar 2 23:40:58 2011 +0100
s4-nterr: add _N macro handling as in s3-nterr.
Guenther
commit c1089c130ba24ff71dafdea2b53df46056b49aeb
Author: Günther Deschner <gd at samba.org>
Date: Wed Mar 2 23:40:05 2011 +0100
s3-nterr: make nt_err_desc static const.
Guenther
commit cb8c0e177687769638ee3aef59a86c4c4a80b971
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 3 01:16:22 2011 +0100
nterr: remove space indents (use tabs instead), following coding standards.
Guenther
commit 2f46942e08d1465bdbdbb88bf3ba3018dde25d61
Author: Günther Deschner <gd at samba.org>
Date: Wed Mar 2 23:16:35 2011 +0100
nterr: remove trailing whitespace.
Guenther
-----------------------------------------------------------------------
Summary of changes:
source3/libsmb/nterr.c | 85 +++++++-----
source3/wscript | 12 ++-
source4/auth/auth.h | 1 -
source4/auth/gensec/gensec.h | 2 +-
source4/auth/ntlm/auth_util.c | 24 ---
source4/ldap_server/ldap_bind.c | 4 +-
source4/libcli/util/nterr.c | 276 ++++++++++++++++++++---------------
source4/smb_server/smb/sesssetup.c | 10 +-
source4/smb_server/smb2/sesssetup.c | 4 +-
source4/utils/ntlm_auth.c | 2 +-
10 files changed, 232 insertions(+), 188 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/libsmb/nterr.c b/source3/libsmb/nterr.c
index 5fa9ade..1ba2691 100644
--- a/source3/libsmb/nterr.c
+++ b/source3/libsmb/nterr.c
@@ -1,18 +1,18 @@
-/*
+/*
* Unix SMB/CIFS implementation.
* RPC Pipe client / server routines
* Copyright (C) Luke Kenneth Casson Leighton 1997-2001.
- *
+ *
* 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/>.
*/
@@ -20,6 +20,7 @@
/* NT error codes. please read nterr.h */
#include "includes.h"
+#undef strcasecmp
#if !defined(N_)
#define N_(string) string
@@ -34,6 +35,11 @@ typedef struct
static const nt_err_code_struct nt_errs[] =
{
{ "NT_STATUS_OK", NT_STATUS_OK },
+ { "STATUS_NO_MORE_FILES", STATUS_NO_MORE_FILES },
+ { "STATUS_NO_MORE_EAS", STATUS_NO_MORE_EAS },
+ { "STATUS_INVALID_EA_NAME", STATUS_INVALID_EA_NAME },
+ { "STATUS_EA_LIST_INCONSISTENT", STATUS_EA_LIST_INCONSISTENT },
+ { "STATUS_INVALID_EA_FLAG", STATUS_INVALID_EA_FLAG },
{ "NT_STATUS_UNSUCCESSFUL", NT_STATUS_UNSUCCESSFUL },
{ "NT_STATUS_NOT_IMPLEMENTED", NT_STATUS_NOT_IMPLEMENTED },
{ "NT_STATUS_INVALID_INFO_CLASS", NT_STATUS_INVALID_INFO_CLASS },
@@ -538,11 +544,7 @@ static const nt_err_code_struct nt_errs[] =
{ "NT_STATUS_FILE_IS_OFFLINE", NT_STATUS_FILE_IS_OFFLINE },
{ "NT_STATUS_DS_NO_MORE_RIDS", NT_STATUS_DS_NO_MORE_RIDS },
{ "NT_STATUS_NOT_A_REPARSE_POINT", NT_STATUS_NOT_A_REPARSE_POINT },
- { "NT_STATUS_DOWNGRADE_DETECTED", NT_STATUS_DOWNGRADE_DETECTED },
- { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
- { "STATUS_MORE_ENTRIES", STATUS_MORE_ENTRIES },
- { "STATUS_SOME_UNMAPPED", STATUS_SOME_UNMAPPED },
- { "STATUS_NO_MORE_FILES", STATUS_NO_MORE_FILES },
+ { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
{ "NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED", NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED },
{ "NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX", NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX },
{ "NT_STATUS_RPC_UNKNOWN_IF", NT_STATUS_RPC_UNKNOWN_IF },
@@ -560,12 +562,23 @@ static const nt_err_code_struct nt_errs[] =
{ "NT_STATUS_RPC_PIPE_CLOSED", NT_STATUS_RPC_PIPE_CLOSED },
{ "NT_STATUS_RPC_PIPE_DISCIPLINE_ERROR", NT_STATUS_RPC_PIPE_DISCIPLINE_ERROR },
{ "NT_STATUS_RPC_PIPE_EMPTY", NT_STATUS_RPC_PIPE_EMPTY },
+ { "NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED", NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED },
+ { "NT_STATUS_OBJECTID_NOT_FOUND", NT_STATUS_OBJECTID_NOT_FOUND },
+ { "NT_STATUS_DOWNGRADE_DETECTED", NT_STATUS_DOWNGRADE_DETECTED },
+ { "NT_STATUS_INVALID_LOCK_RANGE", NT_STATUS_INVALID_LOCK_RANGE },
+ { "NT_STATUS_ERROR_DS_OBJ_STRING_NAME_EXISTS", NT_STATUS_ERROR_DS_OBJ_STRING_NAME_EXISTS },
+ { "NT_STATUS_ERROR_DS_INCOMPATIBLE_VERSION", NT_STATUS_ERROR_DS_INCOMPATIBLE_VERSION },
+ { "STATUS_MORE_ENTRIES", STATUS_MORE_ENTRIES },
+ { "STATUS_SOME_UNMAPPED", STATUS_SOME_UNMAPPED },
+ { "STATUS_NOTIFY_CLEANUP", STATUS_NOTIFY_CLEANUP },
+ { "STATUS_NOTIFY_ENUM_DIR", STATUS_NOTIFY_ENUM_DIR },
+
{ NULL, NT_STATUS(0) }
};
/* These need sorting..... */
-nt_err_code_struct nt_err_desc[] =
+static const nt_err_code_struct nt_err_desc[] =
{
{ N_("Success"), NT_STATUS_OK },
{ N_("Undetermined error"), NT_STATUS_UNSUCCESSFUL },
@@ -591,8 +604,10 @@ nt_err_code_struct nt_err_desc[] =
{ N_("Invalid workstation"), NT_STATUS_INVALID_WORKSTATION },
{ N_("Password expired"), NT_STATUS_PASSWORD_EXPIRED },
{ N_("Account disabled"), NT_STATUS_ACCOUNT_DISABLED },
+ { N_("Unexpected information received"), NT_STATUS_INVALID_PARAMETER },
{ N_("Memory allocation error"), NT_STATUS_NO_MEMORY },
{ N_("No domain controllers located"), NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND },
+ { N_("Account locked out"), NT_STATUS_ACCOUNT_LOCKED_OUT },
{ N_("Named pipe not available"), NT_STATUS_PIPE_NOT_AVAILABLE },
{ N_("Not implemented"), NT_STATUS_NOT_IMPLEMENTED },
{ N_("Invalid information class"), NT_STATUS_INVALID_INFO_CLASS },
@@ -603,6 +618,7 @@ nt_err_code_struct nt_err_desc[] =
{ N_("No memory"), NT_STATUS_NO_MEMORY },
{ N_("Buffer too small"), NT_STATUS_BUFFER_TOO_SMALL },
{ N_("Revision mismatch"), NT_STATUS_REVISION_MISMATCH },
+ { N_("No logon servers"), NT_STATUS_NO_LOGON_SERVERS },
{ N_("No such logon session"), NT_STATUS_NO_SUCH_LOGON_SESSION },
{ N_("No such privilege"), NT_STATUS_NO_SUCH_PRIVILEGE },
{ N_("Procedure not found"), NT_STATUS_PROCEDURE_NOT_FOUND },
@@ -630,7 +646,7 @@ nt_err_code_struct nt_err_desc[] =
{ N_("Logon session collision"), NT_STATUS_LOGON_SESSION_COLLISION },
{ N_("Invalid logon type"), NT_STATUS_INVALID_LOGON_TYPE },
{ N_("Cancelled"), NT_STATUS_CANCELLED },
- { N_("Invalid computer name"), NT_STATUS_INVALID_COMPUTER_NAME },
+ { N_("Invalid computer name"), NT_STATUS_INVALID_COMPUTER_NAME },
{ N_("Logon server conflict"), NT_STATUS_LOGON_SERVER_CONFLICT },
{ N_("Time difference at domain controller"), NT_STATUS_TIME_DIFFERENCE_AT_DC },
{ N_("Pipe broken"), NT_STATUS_PIPE_BROKEN },
@@ -656,7 +672,7 @@ nt_err_code_struct nt_err_desc[] =
{ N_("User session deleted"), NT_STATUS_USER_SESSION_DELETED },
{ N_("Insufficient server resources"), NT_STATUS_INSUFF_SERVER_RESOURCES },
{ N_("Insufficient logon information"), NT_STATUS_INSUFFICIENT_LOGON_INFO },
-
+
{ N_("License quota exceeded"), NT_STATUS_LICENSE_QUOTA_EXCEEDED },
{ N_("No more files"), STATUS_NO_MORE_FILES },
@@ -669,12 +685,12 @@ nt_err_code_struct nt_err_desc[] =
const char *nt_errstr(NTSTATUS nt_code)
{
- int idx = 0;
+ int idx = 0;
char *result;
#ifdef HAVE_LDAP
- if (NT_STATUS_IS_LDAP(nt_code)) {
- return ldap_err2string(NT_STATUS_LDAP_CODE(nt_code));
+ if (NT_STATUS_IS_LDAP(nt_code)) {
+ return ldap_err2string(NT_STATUS_LDAP_CODE(nt_code));
}
#endif
@@ -684,8 +700,9 @@ const char *nt_errstr(NTSTATUS nt_code)
}
while (nt_errs[idx].nt_errstr != NULL) {
- if (NT_STATUS_EQUAL(nt_errs[idx].nt_errcode, nt_code)) {
- return nt_errs[idx].nt_errstr;
+ if (NT_STATUS_V(nt_errs[idx].nt_errcode) ==
+ NT_STATUS_V(nt_code)) {
+ return nt_errs[idx].nt_errstr;
}
idx++;
}
@@ -699,20 +716,20 @@ const char *nt_errstr(NTSTATUS nt_code)
/************************************************************************
Print friendler version fo NT error code
***********************************************************************/
-
+
const char *get_friendly_nt_error_msg(NTSTATUS nt_code)
{
- int idx = 0;
+ int idx = 0;
while (nt_err_desc[idx].nt_errstr != NULL) {
if (NT_STATUS_V(nt_err_desc[idx].nt_errcode) == NT_STATUS_V(nt_code)) {
- return nt_err_desc[idx].nt_errstr;
+ return nt_err_desc[idx].nt_errstr;
}
idx++;
}
-
+
/* fall back to NT_STATUS_XXX string */
-
+
return nt_errstr(nt_code);
}
@@ -723,12 +740,12 @@ const char *get_friendly_nt_error_msg(NTSTATUS nt_code)
const char *get_nt_error_c_code(NTSTATUS nt_code)
{
char *result;
- int idx = 0;
+ int idx = 0;
while (nt_errs[idx].nt_errstr != NULL) {
- if (NT_STATUS_V(nt_errs[idx].nt_errcode) ==
- NT_STATUS_V(nt_code)) {
- return nt_errs[idx].nt_errstr;
+ if (NT_STATUS_V(nt_errs[idx].nt_errcode) ==
+ NT_STATUS_V(nt_code)) {
+ return nt_errs[idx].nt_errstr;
}
idx++;
}
@@ -745,11 +762,11 @@ const char *get_nt_error_c_code(NTSTATUS nt_code)
NTSTATUS nt_status_string_to_code(const char *nt_status_str)
{
- int idx = 0;
+ int idx = 0;
while (nt_errs[idx].nt_errstr != NULL) {
- if (strcmp(nt_errs[idx].nt_errstr, nt_status_str) == 0) {
- return nt_errs[idx].nt_errcode;
+ if (strcasecmp(nt_errs[idx].nt_errstr, nt_status_str) == 0) {
+ return nt_errs[idx].nt_errcode;
}
idx++;
}
@@ -759,8 +776,8 @@ NTSTATUS nt_status_string_to_code(const char *nt_status_str)
/**
* Squash an NT_STATUS in line with security requirements.
* In an attempt to avoid giving the whole game away when users
- * are authenticating, NT replaces both NT_STATUS_NO_SUCH_USER and
- * NT_STATUS_WRONG_PASSWORD with NT_STATUS_LOGON_FAILURE in certain situations
+ * are authenticating, NT replaces both NT_STATUS_NO_SUCH_USER and
+ * NT_STATUS_WRONG_PASSWORD with NT_STATUS_LOGON_FAILURE in certain situations
* (session setups in particular).
*
* @param nt_status NTSTATUS input for squashing.
@@ -770,15 +787,15 @@ NTSTATUS nt_status_string_to_code(const char *nt_status_str)
NTSTATUS nt_status_squash(NTSTATUS nt_status)
{
if NT_STATUS_IS_OK(nt_status) {
- return nt_status;
+ return nt_status;
} else if NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER) {
/* Match WinXP and don't give the game away */
return NT_STATUS_LOGON_FAILURE;
-
+
} else if NT_STATUS_EQUAL(nt_status, NT_STATUS_WRONG_PASSWORD) {
/* Match WinXP and don't give the game away */
return NT_STATUS_LOGON_FAILURE;
} else {
return nt_status;
- }
+ }
}
diff --git a/source3/wscript b/source3/wscript
index c1c9801..ad9b202 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -10,7 +10,7 @@ import sys, os
from optparse import SUPPRESS_HELP
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
sys.path.insert(0, "source3")
-import wafsamba, Options, Logs, Utils
+import wafsamba, Options, Logs, Utils, Scripting
import build.charset
import samba_utils, samba_version
import samba3
@@ -1611,3 +1611,13 @@ def ctags(ctx):
cmd = 'ctags $(find %s/.. -name "*.[ch]" | grep -v "*_proto\.h")' % source_root
print("Running: %s" % cmd)
os.system(cmd)
+
+if not os.getenv('TOPLEVEL_BUILD'):
+ def wildcard_cmd(cmd):
+ '''called on a unknown command'''
+ from samba_wildcard import run_named_build_task
+ run_named_build_task(cmd)
+ def main():
+ from samba_wildcard import wildcard_main
+ wildcard_main(wildcard_cmd)
+ Scripting.main = main
diff --git a/source4/auth/auth.h b/source4/auth/auth.h
index 70df694..0e0aa01 100644
--- a/source4/auth/auth.h
+++ b/source4/auth/auth.h
@@ -189,7 +189,6 @@ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx, struct ldb_context *sam_
NTSTATUS auth_system_session_info(TALLOC_CTX *parent_ctx,
struct loadparm_context *lp_ctx,
struct auth_session_info **_session_info) ;
-NTSTATUS auth_nt_status_squash(NTSTATUS nt_status);
NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods,
struct tevent_context *ev,
diff --git a/source4/auth/gensec/gensec.h b/source4/auth/gensec/gensec.h
index ad581e2..3c5257c 100644
--- a/source4/auth/gensec/gensec.h
+++ b/source4/auth/gensec/gensec.h
@@ -274,7 +274,7 @@ NTSTATUS gensec_server_start(TALLOC_CTX *mem_ctx,
struct gensec_security **gensec_security);
NTSTATUS gensec_session_info(struct gensec_security *gensec_security,
struct auth_session_info **session_info);
-NTSTATUS auth_nt_status_squash(NTSTATUS nt_status);
+NTSTATUS nt_status_squash(NTSTATUS nt_status);
struct netlogon_creds_CredentialState;
NTSTATUS dcerpc_schannel_creds(struct gensec_security *gensec_security,
TALLOC_CTX *mem_ctx,
diff --git a/source4/auth/ntlm/auth_util.c b/source4/auth/ntlm/auth_util.c
index 605cd98..d6b53dd 100644
--- a/source4/auth/ntlm/auth_util.c
+++ b/source4/auth/ntlm/auth_util.c
@@ -231,27 +231,3 @@ NTSTATUS encrypt_user_info(TALLOC_CTX *mem_ctx, struct auth_context *auth_contex
return NT_STATUS_OK;
}
-
-
-/**
- * Squash an NT_STATUS in line with security requirements.
- * In an attempt to avoid giving the whole game away when users
- * are authenticating, NT replaces both NT_STATUS_NO_SUCH_USER and
- * NT_STATUS_WRONG_PASSWORD with NT_STATUS_LOGON_FAILURE in certain situations
- * (session setups in particular).
- *
- * @param nt_status NTSTATUS input for squashing.
- * @return the 'squashed' nt_status
- **/
-_PUBLIC_ NTSTATUS auth_nt_status_squash(NTSTATUS nt_status)
-{
- if NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER) {
- /* Match WinXP and don't give the game away */
- return NT_STATUS_LOGON_FAILURE;
- } else if NT_STATUS_EQUAL(nt_status, NT_STATUS_WRONG_PASSWORD) {
- /* Match WinXP and don't give the game away */
- return NT_STATUS_LOGON_FAILURE;
- }
-
- return nt_status;
-}
diff --git a/source4/ldap_server/ldap_bind.c b/source4/ldap_server/ldap_bind.c
index 0f3d063..105e640 100644
--- a/source4/ldap_server/ldap_bind.c
+++ b/source4/ldap_server/ldap_bind.c
@@ -81,7 +81,7 @@ static NTSTATUS ldapsrv_BindSimple(struct ldapsrv_call *call)
errstr = talloc_asprintf(reply, "Simple Bind: Failed to advise ldb new credentials: %s", nt_errstr(status));
}
} else {
- status = auth_nt_status_squash(status);
+ status = nt_status_squash(status);
result = LDAP_INVALID_CREDENTIALS;
errstr = talloc_asprintf(reply, "Simple Bind Failed: %s", nt_errstr(status));
@@ -311,7 +311,7 @@ static NTSTATUS ldapsrv_BindSASL(struct ldapsrv_call *call)
talloc_unlink(conn, conn->gensec);
conn->gensec = NULL;
} else {
- status = auth_nt_status_squash(status);
+ status = nt_status_squash(status);
if (result == 0) {
result = LDAP_INVALID_CREDENTIALS;
errstr = talloc_asprintf(reply, "SASL:[%s]: %s", req->creds.SASL.mechanism, nt_errstr(status));
diff --git a/source4/libcli/util/nterr.c b/source4/libcli/util/nterr.c
index 82e773c..ca998bb 100644
--- a/source4/libcli/util/nterr.c
+++ b/source4/libcli/util/nterr.c
@@ -1,18 +1,18 @@
-/*
+/*
* Unix SMB/CIFS implementation.
* RPC Pipe client / server routines
* Copyright (C) Luke Kenneth Casson Leighton 1997-2001.
- *
+ *
* 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/>.
*/
@@ -23,6 +23,10 @@
#include "../libcli/ldap/ldap_errors.h"
#undef strcasecmp
+#if !defined(N_)
+#define N_(string) string
+#endif
+
typedef struct
{
const char *nt_errstr;
@@ -543,7 +547,8 @@ static const nt_err_code_struct nt_errs[] =
{ "NT_STATUS_QUOTA_LIST_INCONSISTENT", NT_STATUS_QUOTA_LIST_INCONSISTENT },
{ "NT_STATUS_FILE_IS_OFFLINE", NT_STATUS_FILE_IS_OFFLINE },
{ "NT_STATUS_DS_NO_MORE_RIDS", NT_STATUS_DS_NO_MORE_RIDS },
- { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
+ { "NT_STATUS_NOT_A_REPARSE_POINT", NT_STATUS_NOT_A_REPARSE_POINT },
+ { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
{ "NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED", NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED },
{ "NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX", NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX },
{ "NT_STATUS_RPC_UNKNOWN_IF", NT_STATUS_RPC_UNKNOWN_IF },
@@ -736,116 +741,122 @@ static const nt_err_code_struct nt_errs[] =
{ NULL, NT_STATUS(0) }
};
+/* These need sorting..... */
+
static const nt_err_code_struct nt_err_desc[] =
{
- { "Success", NT_STATUS_OK },
- { "Undetermined error", NT_STATUS_UNSUCCESSFUL },
- { "Access denied", NT_STATUS_ACCESS_DENIED },
- { "Account locked out", NT_STATUS_ACCOUNT_LOCKED_OUT },
- { "Must change password", NT_STATUS_PASSWORD_MUST_CHANGE },
- { "Password is too short", NT_STATUS_PWD_TOO_SHORT },
- { "Password is too recent", NT_STATUS_PWD_TOO_RECENT },
- { "Password history conflict", NT_STATUS_PWD_HISTORY_CONFLICT },
- { "No logon servers", NT_STATUS_NO_LOGON_SERVERS },
- { "Improperly formed account name", NT_STATUS_INVALID_ACCOUNT_NAME },
- { "User exists", NT_STATUS_USER_EXISTS },
- { "No such user", NT_STATUS_NO_SUCH_USER },
- { "Group exists", NT_STATUS_GROUP_EXISTS },
- { "No such group", NT_STATUS_NO_SUCH_GROUP },
- { "Member not in group", NT_STATUS_MEMBER_NOT_IN_GROUP },
- { "Wrong Password", NT_STATUS_WRONG_PASSWORD },
- { "Ill formed password", NT_STATUS_ILL_FORMED_PASSWORD },
- { "Password restriction", NT_STATUS_PASSWORD_RESTRICTION },
- { "Logon failure", NT_STATUS_LOGON_FAILURE },
- { "Account restriction", NT_STATUS_ACCOUNT_RESTRICTION },
- { "Invalid logon hours", NT_STATUS_INVALID_LOGON_HOURS },
- { "Invalid workstation", NT_STATUS_INVALID_WORKSTATION },
- { "Password expired", NT_STATUS_PASSWORD_EXPIRED },
- { "Account disabled", NT_STATUS_ACCOUNT_DISABLED },
- { "Unexpected information received", NT_STATUS_INVALID_PARAMETER },
- { "Memory allocation error", NT_STATUS_NO_MEMORY },
- { "No domain controllers located", NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND },
- { "Account locked out", NT_STATUS_ACCOUNT_LOCKED_OUT },
- { "Named pipe not available", NT_STATUS_PIPE_NOT_AVAILABLE },
- { "Not implemented", NT_STATUS_NOT_IMPLEMENTED },
- { "Invalid information class", NT_STATUS_INVALID_INFO_CLASS },
- { "Information length mismatch", NT_STATUS_INFO_LENGTH_MISMATCH },
- { "Access violation", NT_STATUS_ACCESS_VIOLATION },
- { "Invalid handle", NT_STATUS_INVALID_HANDLE },
- { "Invalid parameter", NT_STATUS_INVALID_PARAMETER },
- { "No memory", NT_STATUS_NO_MEMORY },
- { "Buffer too small", NT_STATUS_BUFFER_TOO_SMALL },
- { "Revision mismatch", NT_STATUS_REVISION_MISMATCH },
- { "No logon servers", NT_STATUS_NO_LOGON_SERVERS },
- { "No such logon session", NT_STATUS_NO_SUCH_LOGON_SESSION },
- { "No such privilege", NT_STATUS_NO_SUCH_PRIVILEGE },
- { "Procedure not found", NT_STATUS_PROCEDURE_NOT_FOUND },
- { "Server disabled", NT_STATUS_SERVER_DISABLED },
- { "Invalid pipe state", NT_STATUS_INVALID_PIPE_STATE },
- { "Named pipe busy", NT_STATUS_PIPE_BUSY },
- { "Illegal function", NT_STATUS_ILLEGAL_FUNCTION },
- { "Named pipe disconnected", NT_STATUS_PIPE_DISCONNECTED },
- { "Named pipe closing", NT_STATUS_PIPE_CLOSING },
- { "Remote host not listening", NT_STATUS_REMOTE_NOT_LISTENING },
- { "Duplicate name on network", NT_STATUS_DUPLICATE_NAME },
- { "Print queue is full", NT_STATUS_PRINT_QUEUE_FULL },
- { "No print spool space available", NT_STATUS_NO_SPOOL_SPACE },
- { "Too many names", NT_STATUS_TOO_MANY_NAMES },
- { "Too many sessions", NT_STATUS_TOO_MANY_SESSIONS },
- { "Invalid server state", NT_STATUS_INVALID_SERVER_STATE },
- { "Invalid domain state", NT_STATUS_INVALID_DOMAIN_STATE },
- { "Invalid domain role", NT_STATUS_INVALID_DOMAIN_ROLE },
- { "No such domain", NT_STATUS_NO_SUCH_DOMAIN },
- { "Domain exists", NT_STATUS_DOMAIN_EXISTS },
- { "Domain limit exceeded", NT_STATUS_DOMAIN_LIMIT_EXCEEDED },
- { "Bad logon session state", NT_STATUS_BAD_LOGON_SESSION_STATE },
- { "Logon session collision", NT_STATUS_LOGON_SESSION_COLLISION },
- { "Invalid logon type", NT_STATUS_INVALID_LOGON_TYPE },
- { "Cancelled", NT_STATUS_CANCELLED },
- { "Invalid computer name", NT_STATUS_INVALID_COMPUTER_NAME },
- { "Logon server conflict", NT_STATUS_LOGON_SERVER_CONFLICT },
- { "Time difference at domain controller", NT_STATUS_TIME_DIFFERENCE_AT_DC },
- { "Pipe broken", NT_STATUS_PIPE_BROKEN },
- { "Registry corrupt", NT_STATUS_REGISTRY_CORRUPT },
- { "Too many secrets", NT_STATUS_TOO_MANY_SECRETS },
- { "Too many SIDs", NT_STATUS_TOO_MANY_SIDS },
- { "Lanmanager cross encryption required", NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED },
- { "Log file full", NT_STATUS_LOG_FILE_FULL },
- { "No trusted LSA secret", NT_STATUS_NO_TRUST_LSA_SECRET },
- { "No trusted SAM account", NT_STATUS_NO_TRUST_SAM_ACCOUNT },
- { "Trusted domain failure", NT_STATUS_TRUSTED_DOMAIN_FAILURE },
- { "Trust relationship failure", NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE },
- { "Trust failure", NT_STATUS_TRUST_FAILURE },
- { "Netlogon service not started", NT_STATUS_NETLOGON_NOT_STARTED },
- { "Account expired", NT_STATUS_ACCOUNT_EXPIRED },
- { "Network credential conflict", NT_STATUS_NETWORK_CREDENTIAL_CONFLICT },
- { "Remote session limit", NT_STATUS_REMOTE_SESSION_LIMIT },
- { "No logon interdomain trust account", NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT },
- { "No logon workstation trust account", NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT },
- { "No logon server trust account", NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT },
- { "Domain trust inconsistent", NT_STATUS_DOMAIN_TRUST_INCONSISTENT },
- { "No user session key available", NT_STATUS_NO_USER_SESSION_KEY },
- { "User session deleted", NT_STATUS_USER_SESSION_DELETED },
- { "Insufficient server resources", NT_STATUS_INSUFF_SERVER_RESOURCES },
- { "Insufficient logon information", NT_STATUS_INSUFFICIENT_LOGON_INFO },
-
- { "License quota exceeded", NT_STATUS_LICENSE_QUOTA_EXCEEDED },
+ { N_("Success"), NT_STATUS_OK },
+ { N_("Undetermined error"), NT_STATUS_UNSUCCESSFUL },
+ { N_("Access denied"), NT_STATUS_ACCESS_DENIED },
+ { N_("Account locked out"), NT_STATUS_ACCOUNT_LOCKED_OUT },
+ { N_("Must change password"), NT_STATUS_PASSWORD_MUST_CHANGE },
+ { N_("Password is too short"), NT_STATUS_PWD_TOO_SHORT },
+ { N_("Password is too recent"), NT_STATUS_PWD_TOO_RECENT },
+ { N_("Password history conflict"), NT_STATUS_PWD_HISTORY_CONFLICT },
--
Samba Shared Repository
More information about the samba-cvs
mailing list