summaryrefslogtreecommitdiffstats
path: root/source/smbd
diff options
context:
space:
mode:
authorKarolin Seeger <kseeger@samba.org>2009-05-15 15:25:30 +0200
committerKarolin Seeger <kseeger@samba.org>2009-06-10 16:17:53 +0200
commitb00c7c8c743ed4c25ae694aaaf2cfefd8910807c (patch)
treecaf52369baba8a8bb94e17b61d9be33c867b0087 /source/smbd
parent50f9d7c1549dd7e1140e36f3649260cf4a88600c (diff)
downloadsamba-b00c7c8c743ed4c25ae694aaaf2cfefd8910807c.tar.gz
samba-b00c7c8c743ed4c25ae694aaaf2cfefd8910807c.tar.xz
samba-b00c7c8c743ed4c25ae694aaaf2cfefd8910807c.zip
Revert "Do not use the file system GET_REAL_FILENAME for mangled names"
This reverts commit 5a5dcd125fe236ddd93a6e56ae361fc84e306185. (cherry picked from commit 79003837947882c4a62490c0eff7984f7c343807)
Diffstat (limited to 'source/smbd')
-rw-r--r--source/smbd/filename.c30
1 files changed, 7 insertions, 23 deletions
diff --git a/source/smbd/filename.c b/source/smbd/filename.c
index 031668f66b5..003cb0ffd44 100644
--- a/source/smbd/filename.c
+++ b/source/smbd/filename.c
@@ -33,9 +33,6 @@ static NTSTATUS build_stream_path(TALLOC_CTX *mem_ctx,
const char *streamname,
SMB_STRUCT_STAT *pst,
char **path);
-static int get_real_filename_mangled(connection_struct *conn, const char *path,
- const char *name, TALLOC_CTX *mem_ctx,
- char **found_name);
/****************************************************************************
Mangle the 2nd name and check if it is then equal to the first name.
@@ -450,7 +447,7 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
*/
if (name_has_wildcard ||
- (get_real_filename_mangled(
+ (SMB_VFS_GET_REAL_FILENAME(
conn, dirpath, start,
talloc_tos(), &found_name) == -1)) {
char *unmangled;
@@ -792,12 +789,15 @@ static bool fname_equal(const char *name1, const char *name2,
If the name looks like a mangled name then try via the mangling functions
****************************************************************************/
-static int get_real_filename_mangled(connection_struct *conn, const char *path,
- const char *name, TALLOC_CTX *mem_ctx,
- char **found_name)
+int get_real_filename(connection_struct *conn, const char *path,
+ const char *name, TALLOC_CTX *mem_ctx,
+ char **found_name)
{
+ struct smb_Dir *cur_dir;
+ const char *dname;
bool mangled;
char *unmangled_name = NULL;
+ long curpos;
mangled = mangle_is_mangled(name, conn->params);
@@ -838,24 +838,8 @@ static int get_real_filename_mangled(connection_struct *conn, const char *path,
/* Name is now unmangled. */
name = unmangled_name;
}
- return get_real_filename(conn, path, name, mem_ctx,
- found_name);
}
- return SMB_VFS_GET_REAL_FILENAME(conn, path, name, mem_ctx,
- found_name);
-}
-
-int get_real_filename(connection_struct *conn, const char *path,
- const char *name, TALLOC_CTX *mem_ctx,
- char **found_name)
-{
- struct smb_Dir *cur_dir;
- const char *dname;
- bool mangled;
- char *unmangled_name = NULL;
- long curpos;
-
/* open the directory */
if (!(cur_dir = OpenDir(talloc_tos(), conn, path, NULL, 0))) {
DEBUG(3,("scan dir didn't open dir [%s]\n",path));