summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-03-18 20:00:28 -0700
committerJeremy Allison <jra@samba.org>2009-03-18 20:01:33 -0700
commita00a9e4e2cc30338b4b44109e384f16f5df76f0b (patch)
treed1593a091f98414314aece88d660619127a2f2aa /source3/smbd
parent710948c7885b228afe5e1b3bed005f50c57d519b (diff)
downloadsamba-a00a9e4e2cc30338b4b44109e384f16f5df76f0b.tar.gz
samba-a00a9e4e2cc30338b4b44109e384f16f5df76f0b.tar.bz2
samba-a00a9e4e2cc30338b4b44109e384f16f5df76f0b.zip
Fix bug #6196 - Unable to serve files with colons to Linux CIFS/VFS client
Looks like the pathname parsing for POSIX paths got broken when the code for doing Windows streams parsing got added. Jeremy.
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/reply.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index a743385f7f..8b560bd8ca 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -72,11 +72,16 @@ static NTSTATUS check_path_syntax_internal(char *path,
}
}
- if (!stream_started && *s == ':') {
+ if (!posix_path && !stream_started && *s == ':') {
if (*p_last_component_contains_wcard) {
return NT_STATUS_OBJECT_NAME_INVALID;
}
- /* stream names allow more characters than file names */
+ /* Stream names allow more characters than file names.
+ We're overloading posix_path here to allow a wider
+ range of characters. If stream_started is true this
+ is still a Windows path even if posix_path is true.
+ JRA.
+ */
stream_started = true;
start_of_name_component = false;
posix_path = true;