mirror of
https://github.com/cesanta/mongoose.git
synced 2024-11-24 19:19:00 +08:00
Moved must_hide_file to under #ifndef MONGOOSE_NO_FILESYSTEM
This commit is contained in:
parent
976f286134
commit
ad89868564
22
mongoose.c
22
mongoose.c
@ -1514,6 +1514,13 @@ static int match_prefix(const char *pattern, int pattern_len, const char *str) {
|
||||
return j;
|
||||
}
|
||||
|
||||
static int must_hide_file(struct connection *conn, const char *path) {
|
||||
const char *pw_pattern = "**" PASSWORDS_FILE_NAME "$";
|
||||
const char *pattern = conn->server->config_options[HIDE_FILES_PATTERN];
|
||||
return match_prefix(pw_pattern, strlen(pw_pattern), path) > 0 ||
|
||||
(pattern != NULL && match_prefix(pattern, strlen(pattern), path) > 0);
|
||||
}
|
||||
|
||||
// Return 1 if real file has been found, 0 otherwise
|
||||
static int convert_uri_to_file_name(struct connection *conn, char *buf,
|
||||
size_t buf_len, file_stat_t *st) {
|
||||
@ -2234,7 +2241,7 @@ static void call_uri_handler_if_data_is_buffered(struct connection *conn) {
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(NO_DIRECTORY_LISTING) || !defined(MONGOOSE_NO_DAV)
|
||||
#if !defined(MONGOOSE_NO_DIRECTORY_LISTING) || !defined(MONGOOSE_NO_DAV)
|
||||
|
||||
#ifdef _WIN32
|
||||
struct dirent {
|
||||
@ -2316,13 +2323,6 @@ static struct dirent *readdir(DIR *dir) {
|
||||
}
|
||||
#endif // _WIN32 POSIX opendir/closedir/readdir implementation
|
||||
|
||||
static int must_hide_file(struct connection *conn, const char *path) {
|
||||
const char *pw_pattern = "**" PASSWORDS_FILE_NAME "$";
|
||||
const char *pattern = conn->server->config_options[HIDE_FILES_PATTERN];
|
||||
return match_prefix(pw_pattern, strlen(pw_pattern), path) > 0 ||
|
||||
(pattern != NULL && match_prefix(pattern, strlen(pattern), path) > 0);
|
||||
}
|
||||
|
||||
static int scan_directory(struct connection *conn, const char *dir,
|
||||
struct dir_entry **arr) {
|
||||
char path[MAX_PATH_SIZE];
|
||||
@ -3368,7 +3368,11 @@ static void open_local_endpoint(struct connection *conn) {
|
||||
}
|
||||
|
||||
#ifdef MONGOOSE_NO_FILESYSTEM
|
||||
send_http_error(conn, 404, NULL);
|
||||
if (!strcmp(conn->mg_conn.request_method, "OPTIONS")) {
|
||||
send_options(conn);
|
||||
} else {
|
||||
send_http_error(conn, 404, NULL);
|
||||
}
|
||||
#else
|
||||
exists = convert_uri_to_file_name(conn, path, sizeof(path), &st);
|
||||
is_directory = S_ISDIR(st.st_mode);
|
||||
|
Loading…
Reference in New Issue
Block a user