diff options
author | Jeremy Allison <jra@samba.org> | 2009-03-18 20:00:28 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-03-18 20:01:33 -0700 |
commit | a00a9e4e2cc30338b4b44109e384f16f5df76f0b (patch) | |
tree | d1593a091f98414314aece88d660619127a2f2aa /source3/smbd | |
parent | 710948c7885b228afe5e1b3bed005f50c57d519b (diff) | |
download | samba-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.c | 9 |
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; |