diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/client/client.c | 4 | ||||
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/lib/util.c | 5 | ||||
-rw-r--r-- | source3/web/cgi.c | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/source3/client/client.c b/source3/client/client.c index 1990ae801b..504b1dd9b3 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -1745,7 +1745,7 @@ static int cmd_put(void) SMB_STRUCT_STAT st; /* allow '-' to represent stdin jdblair, 24.jun.98 */ - if (!file_exist_stat(lname,&st) && + if (!file_exist_stat(lname, &st, false) && (strcmp(lname,"-"))) { d_printf("%s does not exist\n",lname); return 1; @@ -3618,7 +3618,7 @@ static int cmd_reput(void) return 1; } - if (!file_exist_stat(local_name, &st)) { + if (!file_exist_stat(local_name, &st, false)) { d_printf("%s does not exist\n", local_name); return 1; } diff --git a/source3/include/proto.h b/source3/include/proto.h index 55da2cf8db..23b7f66257 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1119,7 +1119,8 @@ struct user_auth_info *get_cmdline_auth_info_copy(TALLOC_CTX *mem_ctx, const struct user_auth_info *info); bool set_cmdline_auth_info_machine_account_creds(struct user_auth_info *auth_info); void set_cmdline_auth_info_getpass(struct user_auth_info *auth_info); -bool file_exist_stat(const char *fname,SMB_STRUCT_STAT *sbuf); +bool file_exist_stat(const char *fname,SMB_STRUCT_STAT *sbuf, + bool fake_dir_create_times); bool socket_exist(const char *fname); bool directory_exist_stat(char *dname,SMB_STRUCT_STAT *st); uint64_t get_file_size_stat(const SMB_STRUCT_STAT *sbuf); diff --git a/source3/lib/util.c b/source3/lib/util.c index de2204074d..b074a1bd6c 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -527,13 +527,14 @@ void set_cmdline_auth_info_getpass(struct user_auth_info *auth_info) Check if a file exists - call vfs_file_exist for samba files. ********************************************************************/ -bool file_exist_stat(const char *fname,SMB_STRUCT_STAT *sbuf) +bool file_exist_stat(const char *fname,SMB_STRUCT_STAT *sbuf, + bool fake_dir_create_times) { SMB_STRUCT_STAT st; if (!sbuf) sbuf = &st; - if (sys_stat(fname, sbuf, lp_fake_dir_create_times()) != 0) + if (sys_stat(fname, sbuf, fake_dir_create_times) != 0) return(False); return((S_ISREG(sbuf->st_ex_mode)) || (S_ISFIFO(sbuf->st_ex_mode))); diff --git a/source3/web/cgi.c b/source3/web/cgi.c index 48e75aee56..39108cf361 100644 --- a/source3/web/cgi.c +++ b/source3/web/cgi.c @@ -450,7 +450,8 @@ static void cgi_download(char *file) if (S_ISDIR(st.st_ex_mode)) { snprintf(buf, sizeof(buf), "%s/index.html", file); - if (!file_exist_stat(buf, &st) || !S_ISREG(st.st_ex_mode)) + if (!file_exist_stat(buf, &st, false) + || !S_ISREG(st.st_ex_mode)) { cgi_setup_error("404 File Not Found","", "The requested file was not found"); |