diff options
-rw-r--r-- | source3/include/proto.h | 4 | ||||
-rw-r--r-- | source3/smbd/filename.c | 24 | ||||
-rw-r--r-- | source3/smbd/nttrans.c | 24 |
3 files changed, 26 insertions, 26 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 830d2284c4..cdc58437f0 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6325,6 +6325,8 @@ const char *smb_fname_str_dbg(const struct smb_filename *smb_fname); NTSTATUS copy_smb_filename(TALLOC_CTX *ctx, const struct smb_filename *smb_fname_in, struct smb_filename **smb_fname_out); +bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname); +bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname); NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, @@ -6548,8 +6550,6 @@ void send_nt_replies(connection_struct *conn, struct smb_request *req, NTSTATUS nt_error, char *params, int paramsize, char *pdata, int datasize); -bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname); -bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname); void reply_ntcreate_and_X(struct smb_request *req); void reply_ntcancel(struct smb_request *req); void reply_ntrename(struct smb_request *req); diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c index 29ebc37d1a..1eb6ce5065 100644 --- a/source3/smbd/filename.c +++ b/source3/smbd/filename.c @@ -276,6 +276,30 @@ NTSTATUS copy_smb_filename(TALLOC_CTX *ctx, } /**************************************************************************** + Simple check to determine if the filename is a stream. + ***************************************************************************/ +bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname) +{ + if (lp_posix_pathnames()) { + return false; + } + + return smb_fname->stream_name; +} + +/**************************************************************************** + Returns true if the filename's stream == "::$DATA" + ***************************************************************************/ +bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname) +{ + if (!is_ntfs_stream_smb_fname(smb_fname)) { + return false; + } + + return StrCaseCmp(smb_fname->stream_name, "::$DATA") == 0; +} + +/**************************************************************************** This routine is called to convert names from the dos namespace to unix namespace. It needs to handle any case conversions, mangling, format changes, streams etc. diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index ff76b7a21f..ecb88296ca 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -272,30 +272,6 @@ void send_nt_replies(connection_struct *conn, } /**************************************************************************** - Simple check to determine if the filename is a stream. - ***************************************************************************/ -bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname) -{ - if (lp_posix_pathnames()) { - return false; - } - - return smb_fname->stream_name; -} - -/**************************************************************************** - Returns true if the filename's stream == "::$DATA" - ***************************************************************************/ -bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname) -{ - if (!is_ntfs_stream_smb_fname(smb_fname)) { - return false; - } - - return StrCaseCmp(smb_fname->stream_name, "::$DATA") == 0; -} - -/**************************************************************************** Reply to an NT create and X call on a pipe ****************************************************************************/ |