[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Wed Nov 16 12:37:04 MST 2011
The branch, master has been updated
via 948e010 s3-libsmb/passchange.c: remove some cli_nt_error() calls
via aef5fcb s3-winbindd/winbindd_cm.c: remove cli_nt_error()
via 6003deb s3-libsmb/clidfs.c: remove cli_nt_error()
via c64ebcf s3:winbindd_cm: remove unused ads_status
via 773abaa s3-torture: remove all cli_nt_error() calls in torture
via 9430fbf s3-torture: replace cli_errstr() with nt_errstr()
via e4934a1 s3-libsmb: introduce option to disable dos error mapping
from af1a2ee s3:smbd: calculate the negprot signing flags from the signing_state
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 948e010f20b537f66baf20bb77e9095d88adcbb9
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 16:57:25 2011 +0100
s3-libsmb/passchange.c: remove some cli_nt_error() calls
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Wed Nov 16 20:36:11 CET 2011 on sn-devel-104
commit aef5fcbfc74ab1e078d7133169215aeef1fab30e
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 16:52:38 2011 +0100
s3-winbindd/winbindd_cm.c: remove cli_nt_error()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 6003debf7e0df7b61df03d2b55551715180329c4
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 16:37:24 2011 +0100
s3-libsmb/clidfs.c: remove cli_nt_error()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit c64ebcf64322f6b98e0e17076da8d63f6f79c114
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Nov 16 16:48:37 2011 +0100
s3:winbindd_cm: remove unused ads_status
metze
commit 773abaa2ef9521250cc51657c2ce15ce99850890
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 16:21:13 2011 +0100
s3-torture: remove all cli_nt_error() calls in torture
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 9430fbf9225c60976c27cf3e3f7d1fdae88ebfb0
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 15:03:49 2011 +0100
s3-torture: replace cli_errstr() with nt_errstr()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit e4934a1e427ec01576beb4fe21d2775b75adeb0b
Author: Björn Baumbach <bb at sernet.de>
Date: Wed Nov 16 14:45:01 2011 +0100
s3-libsmb: introduce option to disable dos error mapping
Signed-off-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/include/client.h | 1 +
source3/libsmb/async_smb.c | 3 ++-
source3/libsmb/clidfs.c | 4 ++--
source3/libsmb/clientgen.c | 1 +
source3/libsmb/passchange.c | 2 --
source3/torture/torture.c | 39 +++++++++++++++++++++------------------
source3/winbindd/winbindd_cm.c | 13 ++-----------
7 files changed, 29 insertions(+), 34 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/include/client.h b/source3/include/client.h
index 65da738..293138d 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -44,6 +44,7 @@ struct cli_state {
struct cli_state *prev, *next;
int rap_error;
NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */
+ bool map_dos_errors;
/* The credentials used to open the cli_state connection. */
char *domain;
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index 08b6c35..574ca3b 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -897,7 +897,8 @@ NTSTATUS cli_smb_recv(struct tevent_req *req,
}
state->cli->raw_status = cli_pull_raw_error(state->inbuf);
- if (NT_STATUS_IS_DOS(state->cli->raw_status)) {
+ if (NT_STATUS_IS_DOS(state->cli->raw_status) &&
+ state->cli->map_dos_errors) {
uint8_t eclass = NT_STATUS_DOS_CLASS(state->cli->raw_status);
uint16_t ecode = NT_STATUS_DOS_CODE(state->cli->raw_status);
/*
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index b066b8b..4d0e97a 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -173,8 +173,8 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
lp_workgroup()))) {
d_printf("session setup failed: %s\n",
nt_errstr(status));
- if (NT_STATUS_V(cli_nt_error(c)) ==
- NT_STATUS_V(NT_STATUS_MORE_PROCESSING_REQUIRED))
+ if (NT_STATUS_EQUAL(status,
+ NT_STATUS_MORE_PROCESSING_REQUIRED))
d_printf("did you forget to run kinit?\n");
cli_shutdown(c);
return status;
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index bc544af..215ad3f 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -208,6 +208,7 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
goto error;
}
cli->raw_status = NT_STATUS_INTERNAL_ERROR;
+ cli->map_dos_errors = true; /* remove this */
cli->timeout = 20000; /* Timeout is in milliseconds. */
cli->case_sensitive = false;
diff --git a/source3/libsmb/passchange.c b/source3/libsmb/passchange.c
index b959bcd..83fd9eb 100644
--- a/source3/libsmb/passchange.c
+++ b/source3/libsmb/passchange.c
@@ -74,7 +74,6 @@ NTSTATUS remote_password_change(const char *remote_machine, const char *user_nam
remote_machine, nt_errstr(result)) == -1) {
*err_str = NULL;
}
- result = cli_nt_error(cli);
cli_shutdown(cli);
return result;
}
@@ -189,7 +188,6 @@ NTSTATUS remote_password_change(const char *remote_machine, const char *user_nam
remote_machine, nt_errstr(result)) == -1) {
*err_str = NULL;
}
- result = cli_nt_error(cli);
cli_shutdown(cli);
return result;
}
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 4a5f790..20ee6bc 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -1553,8 +1553,7 @@ static bool tcon_devtest(struct cli_state *cli,
myshare, devtype);
ret = False;
} else {
- if (NT_STATUS_EQUAL(cli_nt_error(cli),
- expected_error)) {
+ if (NT_STATUS_EQUAL(status, expected_error)) {
ret = True;
} else {
printf("Returned unexpected error\n");
@@ -4348,17 +4347,19 @@ static bool run_deletetest(int dummy)
}
/* Now try open for delete access. */
- if (NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, FILE_READ_ATTRIBUTES|DELETE_ACCESS,
- 0, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
- FILE_OVERWRITE_IF, 0, 0, &fnum1))) {
+ status = cli_ntcreate(cli1, fname, 0,
+ FILE_READ_ATTRIBUTES|DELETE_ACCESS,
+ 0,
+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
+ FILE_OVERWRITE_IF, 0, 0, &fnum1);
+ if (NT_STATUS_IS_OK(status)) {
printf("[11] open of %s succeeded should have been denied with ACCESS_DENIED!\n", fname);
cli_close(cli1, fnum1);
goto fail;
correct = False;
} else {
- NTSTATUS nterr = cli_nt_error(cli1);
- if (!NT_STATUS_EQUAL(nterr,NT_STATUS_ACCESS_DENIED)) {
- printf("[11] open of %s should have been denied with ACCESS_DENIED! Got error %s\n", fname, nt_errstr(nterr));
+ if (!NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED)) {
+ printf("[11] open of %s should have been denied with ACCESS_DENIED! Got error %s\n", fname, nt_errstr(status));
goto fail;
correct = False;
} else {
@@ -6347,6 +6348,9 @@ static bool run_error_map_extract(int dummy) {
return False;
}
+ c_nt->map_dos_errors = false;
+ c_dos->map_dos_errors = false;
+
for (error=(0xc0000000 | 0x1); error < (0xc0000000| 0xFFF); error++) {
fstr_sprintf(user, "%X", error);
@@ -6359,11 +6363,11 @@ static bool run_error_map_extract(int dummy) {
}
/* Case #1: 32-bit NT errors */
- if (cli_is_nt_error(c_nt)) {
- nt_status = cli_nt_error(c_nt);
+ if (!NT_STATUS_IS_DOS(status)) {
+ nt_status = status;
} else {
printf("/** Dos error on NT connection! (%s) */\n",
- cli_errstr(c_nt));
+ nt_errstr(status));
nt_status = NT_STATUS(0xc0000000);
}
@@ -6376,12 +6380,13 @@ static bool run_error_map_extract(int dummy) {
}
/* Case #1: 32-bit NT errors */
- if (!cli_is_dos_error(c_dos)) {
+ if (NT_STATUS_IS_DOS(status)) {
printf("/** NT error on DOS connection! (%s) */\n",
- cli_errstr(c_dos));
+ nt_errstr(status));
errnum = errclass = 0;
} else {
- cli_dos_error(c_dos, &errclass, &errnum);
+ errclass = NT_STATUS_DOS_CLASS(status);
+ errnum = NT_STATUS_DOS_CODE(status);
}
if (NT_STATUS_V(nt_status) != error) {
@@ -7592,10 +7597,8 @@ static bool run_streamerror(int dummy)
return false;
}
- cli_qpathinfo1(cli, streamname, &change_time, &access_time, &write_time,
- &size, &mode);
- status = cli_nt_error(cli);
-
+ status = cli_qpathinfo1(cli, streamname, &change_time, &access_time,
+ &write_time, &size, &mode);
if (!NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
printf("pathinfo returned %s, expected "
"NT_STATUS_OBJECT_NAME_NOT_FOUND\n",
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index edc6579..7cfcaba 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -832,8 +832,6 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
cli_state_protocol(*cli) >= PROTOCOL_NT1 &&
cli_state_capabilities(*cli) & CAP_EXTENDED_SECURITY)
{
- ADS_STATUS ads_status;
-
result = get_trust_creds(domain, &machine_password,
&machine_account,
&machine_krb5_principal);
@@ -894,7 +892,6 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
nt_errstr(result)));
}
- result = ads_ntstatus(ads_status);
if (NT_STATUS_IS_OK(result)) {
/* Ensure creds are stored for NTLMSSP authenticated pipe access. */
result = cli_init_creds(*cli, machine_account, lp_workgroup(), machine_password);
@@ -945,8 +942,8 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
"connection for DC %s\n",
controller ));
- if (NT_STATUS_IS_OK(cli_session_setup(*cli, "", NULL, 0,
- NULL, 0, ""))) {
+ result = cli_session_setup(*cli, "", NULL, 0, NULL, 0, "");
+ if (NT_STATUS_IS_OK(result)) {
DEBUG(5, ("Connected anonymously\n"));
result = cli_init_creds(*cli, "", "", "");
if (!NT_STATUS_IS_OK(result)) {
@@ -955,13 +952,7 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
goto session_setup_done;
}
- result = cli_nt_error(*cli);
-
- if (NT_STATUS_IS_OK(result))
- result = NT_STATUS_UNSUCCESSFUL;
-
/* We can't session setup */
-
goto done;
session_setup_done:
--
Samba Shared Repository
More information about the samba-cvs
mailing list