The branch, v3-2-test has been updated
via d891d0563974ba7d91752b8b15712eb79cf4e387 (commit)
via 736bdf15d934028b579a02dc411aed6c14a437f3 (commit)
via 06304f3c5f538c75bfc63c7abc1457d2b4dc0f0b (commit)
from 39d7dab19ad7aa97ef8691cd3704ab976510aa78 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit d891d0563974ba7d91752b8b15712eb79cf4e387
Merge: 736bdf15d934028b579a02dc411aed6c14a437f3
39d7dab19ad7aa97ef8691cd3704ab976510aa78
Author: Jeremy Allison <[EMAIL PROTECTED]>
Date: Tue Aug 12 14:10:52 2008 -0700
Merge branch 'v3-2-test' of ssh://[EMAIL PROTECTED]/data/git/samba into
v3-2-test
commit 736bdf15d934028b579a02dc411aed6c14a437f3
Author: Michael Adam <[EMAIL PROTECTED]>
Date: Tue Aug 12 14:59:59 2008 +0200
Fix unix_convert() for "*" after changing map_nt_error_from_unix().
map_nt_error_from_unix() now assumes that it is called in
an error path and returns an error even for a given errno == 0.
The original behaviour of unix_convert() used the mapping
of errno == 0 ==> NT_STATUS_OK to return success through
an error path.
I think this must have been an oversight, and unix_convert() worked
only by coincidence (or because explicitly using the knowledge
of the conceptually wrong working of map_nt_error_from_unix().
This patch puts this straight by not interpreting errno == 0
as an error condition and proceeding in that case.
Jeremy - please check!
Michael
commit 06304f3c5f538c75bfc63c7abc1457d2b4dc0f0b
Author: Michael Adam <[EMAIL PROTECTED]>
Date: Tue Aug 12 15:19:17 2008 +0200
Make sure to always set errno on error path in OpenDir (and hence
scan_directory).
Michael
-----------------------------------------------------------------------
Summary of changes:
source/smbd/dir.c | 1 +
source/smbd/filename.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/smbd/dir.c b/source/smbd/dir.c
index 6e02401..604db98 100644
--- a/source/smbd/dir.c
+++ b/source/smbd/dir.c
@@ -1152,6 +1152,7 @@ struct smb_Dir *OpenDir(TALLOC_CTX *mem_ctx,
connection_struct *conn,
dirp->dir_path = talloc_strdup(dirp, name);
if (!dirp->dir_path) {
+ errno = ENOMEM;
goto fail;
}
diff --git a/source/smbd/filename.c b/source/smbd/filename.c
index 4323e84..41a0b92 100644
--- a/source/smbd/filename.c
+++ b/source/smbd/filename.c
@@ -477,7 +477,7 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
}
/* ENOENT is the only valid error here. */
- if (errno != ENOENT) {
+ if ((errno != 0) && (errno != ENOENT)) {
/*
* ENOTDIR and ELOOP both map to
* NT_STATUS_OBJECT_PATH_NOT_FOUND
--
Samba Shared Repository