Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mongoose
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esp
mongoose
Commits
8ff010ca
Commit
8ff010ca
authored
8 years ago
by
Deomid Ryabkov
Committed by
Cesanta Bot
8 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MG_DISABLE_FILESYSTEM -> MG_ENABLE_FILESYSTEM
PUBLISHED_FROM=026810475d98df117ab1dadf40276759190aad19
parent
241090a8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
54 deletions
+62
-54
Makefile
examples/ESP8266_RTOS/user/Makefile
+0
-1
mongoose.c
mongoose.c
+23
-30
mongoose.h
mongoose.h
+39
-23
No files found.
examples/ESP8266_RTOS/user/Makefile
View file @
8ff010ca
...
...
@@ -25,7 +25,6 @@ endif
#
DEFINES
+=
-DCS_PLATFORM
=
3
\
-DMG_NO_BSD_SOCKETS
=
1
\
-DMG_DISABLE_FILESYSTEM
=
1
\
-DRTOS_SDK
-DMG_LWIP
-DLWIP_TIMEVAL_PRIVATE
=
0
\
-DMG_INTERNAL
=
...
...
This diff is collapsed.
Click to expand it.
mongoose.c
View file @
8ff010ca
...
...
@@ -45,9 +45,7 @@
#ifdef PICOTCP
#define NO_LIBC
#define MG_DISABLE_FILESYSTEM
#define MG_DISABLE_POPEN
#define MG_DISABLE_DIRECTORY_LISTING
#define MG_DISABLE_SOCKETPAIR
#define MG_DISABLE_PFS
#endif
...
...
@@ -73,11 +71,13 @@ MG_INTERNAL void mg_remove_conn(struct mg_connection *c);
MG_INTERNAL
struct
mg_connection
*
mg_create_connection
(
struct
mg_mgr
*
mgr
,
mg_event_handler_t
callback
,
struct
mg_add_sock_opts
opts
);
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
MG_INTERNAL
int
mg_uri_to_local_path
(
struct
http_message
*
hm
,
const
struct
mg_serve_http_opts
*
opts
,
char
**
local_path
,
struct
mg_str
*
remainder
);
MG_INTERNAL
time_t
mg_parse_date_string
(
const
char
*
datetime
);
MG_INTERNAL
int
mg_is_not_modified
(
struct
http_message
*
hm
,
cs_stat_t
*
st
);
#endif
#ifdef _WIN32
/* Retur value is the same as for MultiByteToWideChar. */
...
...
@@ -99,11 +99,6 @@ MG_INTERNAL size_t mg_handle_chunked(struct mg_connection *nc,
struct
http_message
*
hm
,
char
*
buf
,
size_t
blen
);
#if !MG_DISABLE_FILESYSTEM
MG_INTERNAL
time_t
mg_parse_date_string
(
const
char
*
datetime
);
MG_INTERNAL
int
mg_is_not_modified
(
struct
http_message
*
hm
,
cs_stat_t
*
st
);
#endif
struct
ctl_msg
{
mg_event_handler_t
callback
;
char
message
[
MG_CTL_MSG_MESSAGE_SIZE
];
...
...
@@ -3880,7 +3875,7 @@ struct mg_http_multipart_stream {
};
struct
mg_http_proto_data
{
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
struct
mg_http_proto_data_file
file
;
#endif
#if MG_ENABLE_CGI
...
...
@@ -3916,7 +3911,7 @@ static void mg_http_free_proto_data_mp_stream(
}
#endif
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
static
void
mg_http_free_proto_data_file
(
struct
mg_http_proto_data_file
*
d
)
{
if
(
d
!=
NULL
)
{
if
(
d
->
fp
!=
NULL
)
{
...
...
@@ -3942,7 +3937,7 @@ static void mg_http_free_proto_data_endpoints(struct mg_http_endpoint **ep) {
static
void
mg_http_conn_destructor
(
void
*
proto_data
)
{
struct
mg_http_proto_data
*
pd
=
(
struct
mg_http_proto_data
*
)
proto_data
;
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
mg_http_free_proto_data_file
(
&
pd
->
file
);
#endif
#if MG_ENABLE_CGI
...
...
@@ -3955,7 +3950,7 @@ static void mg_http_conn_destructor(void *proto_data) {
free
(
proto_data
);
}
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
#define MIME_ENTRY(_ext, _type) \
{ _ext, sizeof(_ext) - 1, _type }
...
...
@@ -4482,7 +4477,7 @@ static void mg_ws_handshake(struct mg_connection *nc,
#endif
/* MG_DISABLE_HTTP_WEBSOCKET */
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
static
void
mg_http_transfer_file_data
(
struct
mg_connection
*
nc
)
{
struct
mg_http_proto_data
*
pd
=
mg_http_get_proto_data
(
nc
);
char
buf
[
MG_MAX_HTTP_SEND_MBUF
];
...
...
@@ -4532,7 +4527,7 @@ static void mg_http_transfer_file_data(struct mg_connection *nc) {
}
#endif
}
#endif
/* MG_
DIS
ABLE_FILESYSTEM */
#endif
/* MG_
EN
ABLE_FILESYSTEM */
/*
* Parse chunked-encoded buffer. Return 0 if the buffer is not encoded, or
...
...
@@ -4736,7 +4731,7 @@ void mg_http_handler(struct mg_connection *nc, int ev, void *ev_data) {
}
}
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
if
(
pd
->
file
.
fp
!=
NULL
)
{
mg_http_transfer_file_data
(
nc
);
}
...
...
@@ -5380,12 +5375,7 @@ void mg_send_head(struct mg_connection *c, int status_code,
mg_send
(
c
,
"
\r\n
"
,
2
);
}
#if MG_DISABLE_FILESYSTEM
void
mg_serve_http
(
struct
mg_connection
*
nc
,
struct
http_message
*
hm
,
struct
mg_serve_http_opts
opts
)
{
mg_send_head
(
nc
,
501
,
0
,
NULL
);
}
#else
#if MG_ENABLE_FILESYSTEM
static
void
mg_http_send_error
(
struct
mg_connection
*
nc
,
int
code
,
const
char
*
reason
)
{
if
(
!
reason
)
reason
=
""
;
...
...
@@ -5883,7 +5873,7 @@ int mg_http_parse_header(struct mg_str *hdr, const char *var_name, char *buf,
return
len
;
}
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
static
int
mg_is_file_hidden
(
const
char
*
path
,
const
struct
mg_serve_http_opts
*
opts
,
int
exclude_specials
)
{
...
...
@@ -6045,7 +6035,7 @@ static int mg_is_authorized(struct http_message *hm, const char *path,
}
#endif
#if
!MG_DIS
ABLE_DIRECTORY_LISTING
#if
MG_EN
ABLE_DIRECTORY_LISTING
static
size_t
mg_url_encode
(
const
char
*
src
,
size_t
s_len
,
char
*
dst
,
size_t
dst_len
)
{
static
const
char
*
dont_escape
=
"._-$,;~()/"
;
...
...
@@ -6198,7 +6188,7 @@ static void mg_send_directory_listing(struct mg_connection *nc, const char *dir,
/* TODO(rojer): Remove when cesanta/dev/issues/197 is fixed. */
nc
->
flags
|=
MG_F_SEND_AND_CLOSE
;
}
#endif
/* MG_
DIS
ABLE_DIRECTORY_LISTING */
#endif
/* MG_
EN
ABLE_DIRECTORY_LISTING */
/*
* Given a directory path, find one of the files specified in the
...
...
@@ -6578,7 +6568,7 @@ MG_INTERNAL void mg_send_http_file(struct mg_connection *nc, char *path,
}
else
if
(
!
mg_vcmp
(
&
hm
->
method
,
"OPTIONS"
))
{
mg_http_send_options
(
nc
);
}
else
if
(
is_directory
&&
index_file
==
NULL
)
{
#if
!MG_DIS
ABLE_DIRECTORY_LISTING
#if
MG_EN
ABLE_DIRECTORY_LISTING
if
(
strcmp
(
opts
->
enable_directory_listing
,
"yes"
)
==
0
)
{
mg_send_directory_listing
(
nc
,
path
,
hm
,
opts
);
}
else
{
...
...
@@ -6654,7 +6644,7 @@ void mg_serve_http(struct mg_connection *nc, struct http_message *hm,
}
}
#endif
/* MG_
DIS
ABLE_FILESYSTEM */
#endif
/* MG_
EN
ABLE_FILESYSTEM */
/* returns 0 on success, -1 on error */
static
int
mg_http_common_url_parse
(
const
char
*
url
,
const
char
*
schema
,
...
...
@@ -7667,7 +7657,7 @@ int mg_casecmp(const char *s1, const char *s2) {
return
mg_ncasecmp
(
s1
,
s2
,
(
size_t
)
~
0
);
}
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
int
mg_stat
(
const
char
*
path
,
cs_stat_t
*
st
)
{
#ifdef _WIN32
wchar_t
wpath
[
MAX_PATH_SIZE
];
...
...
@@ -7830,7 +7820,7 @@ void mg_hexdump_connection(struct mg_connection *nc, const char *path,
fp
=
stdout
;
}
else
if
(
strcmp
(
path
,
"--"
)
==
0
)
{
fp
=
stderr
;
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
}
else
{
fp
=
fopen
(
path
,
"a"
);
#endif
...
...
@@ -9019,7 +9009,7 @@ static int mg_get_ip_address_of_nameserver(char *name, size_t name_len) {
}
RegCloseKey
(
hKey
);
}
#elif
!MG_DIS
ABLE_FILESYSTEM
#elif
MG_EN
ABLE_FILESYSTEM
FILE
*
fp
;
char
line
[
512
];
...
...
@@ -9045,7 +9035,7 @@ static int mg_get_ip_address_of_nameserver(char *name, size_t name_len) {
}
int
mg_resolve_from_hosts_file
(
const
char
*
name
,
union
socket_address
*
usa
)
{
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
/* TODO(mkm) cache /etc/hosts */
FILE
*
fp
;
char
line
[
1024
];
...
...
@@ -9075,6 +9065,9 @@ int mg_resolve_from_hosts_file(const char *name, union socket_address *usa) {
}
fclose
(
fp
);
#else
(
void
)
name
;
(
void
)
usa
;
#endif
return
-
1
;
...
...
This diff is collapsed.
Click to expand it.
mongoose.h
View file @
8ff010ca
...
...
@@ -245,6 +245,14 @@ typedef struct _stati64 cs_stat_t;
#define CS_ENABLE_STDIO 1
#endif
#ifndef MG_ENABLE_DIRECTORY_LISTING
#define MG_ENABLE_DIRECTORY_LISTING 1
#endif
#ifndef MG_ENABLE_FILESYSTEM
#define MG_ENABLE_FILESYSTEM 1
#endif
#endif
/* CS_PLATFORM == CS_P_WINDOWS */
#endif
/* CS_COMMON_PLATFORMS_PLATFORM_WINDOWS_H_ */
#ifdef MG_MODULE_LINES
...
...
@@ -351,6 +359,14 @@ typedef struct stat cs_stat_t;
#define CS_ENABLE_STDIO 1
#endif
#ifndef MG_ENABLE_DIRECTORY_LISTING
#define MG_ENABLE_DIRECTORY_LISTING 1
#endif
#ifndef MG_ENABLE_FILESYSTEM
#define MG_ENABLE_FILESYSTEM 1
#endif
#endif
/* CS_PLATFORM == CS_P_UNIX */
#endif
/* CS_COMMON_PLATFORMS_PLATFORM_UNIX_H_ */
#ifdef MG_MODULE_LINES
...
...
@@ -445,9 +461,6 @@ void mg_lwip_set_keepalive_params(struct mg_connection *nc, int idle,
#define MG_DISABLE_SOCKETPAIR 1
#define MG_DISABLE_SYNC_RESOLVER 1
#define MG_DISABLE_POPEN 1
#define MG_DISABLE_DAV 1
#define MG_DISABLE_DIRECTORY_LISTING 1
#define MG_DISABLE_FILESYSTEM 1
/*
* CC3100 SDK and STM32 SDK include headers w/out path, just like
...
...
@@ -504,10 +517,10 @@ int inet_pton(int af, const char *src, void *dst);
#define MG_DISABLE_SOCKETPAIR 1
#define MG_DISABLE_SYNC_RESOLVER 1
#define MG_DISABLE_POPEN 1
/* Only SPIFFS supports directories, SLFS does not. */
#ifndef CC3200_FS_SPIFFS
#define MG_DISABLE_DAV 1
#define MG_DISABLE_DIRECTORY_LISTING 1
#if defined(CC3200_FS_SPIFFS) && !defined(MG_ENABLE_DIRECTORY_LISTING)
#define MG_ENABLE_DIRECTORY_LISTING 1
#endif
/* Amalgamated: #include "common/platforms/simplelink/cs_simplelink.h" */
...
...
@@ -598,6 +611,10 @@ struct dirent *readdir(DIR *dir);
#define MG_FS_SLFS
#endif
#if (defined(CC3200_FS_SPIFFS) || defined(CC3200_FS_SLFS)) && !defined(MG_ENABLE_FILESYSTEM)
#define MG_ENABLE_FILESYSTEM 1
#endif
#ifndef CS_ENABLE_STDIO
#define CS_ENABLE_STDIO 1
#endif
...
...
@@ -638,7 +655,6 @@ struct dirent *readdir(DIR *dir);
#define MG_DISABLE_SYNC_RESOLVER 1
#define MG_DISABLE_POPEN 1
#define MG_DISABLE_DAV 1
#define MG_DISABLE_DIRECTORY_LISTING 1
/* Amalgamated: #include "common/platforms/simplelink/cs_simplelink.h" */
...
...
@@ -709,6 +725,10 @@ int _stat(const char *pathname, struct stat *st);
#define CS_ENABLE_STDIO 1
#endif
#if (defined(CC3200_FS_SPIFFS) || defined(CC3200_FS_SLFS)) && !defined(MG_ENABLE_FILESYSTEM)
#define MG_ENABLE_FILESYSTEM 1
#endif
#ifdef __cplusplus
}
#endif
...
...
@@ -1186,18 +1206,10 @@ const char *c_strnstr(const char *s, const char *find, size_t slen);
#ifndef CS_MONGOOSE_SRC_FEATURES_H_
#define CS_MONGOOSE_SRC_FEATURES_H_
#ifndef MG_DISABLE_DIRECTORY_LISTING
#define MG_DISABLE_DIRECTORY_LISTING 0
#endif
#ifndef MG_DISABLE_DNS
#define MG_DISABLE_DNS 0
#endif
#ifndef MG_DISABLE_FILESYSTEM
#define MG_DISABLE_FILESYSTEM 0
#endif
#ifndef MG_DISABLE_HTTP_DIGEST_AUTH
#define MG_DISABLE_HTTP_DIGEST_AUTH 0
#endif
...
...
@@ -1258,6 +1270,10 @@ const char *c_strnstr(const char *s, const char *find, size_t slen);
#define MG_ENABLE_DEBUG 0
#endif
#ifndef MG_ENABLE_DIRECTORY_LISTING
#define MG_ENABLE_DIRECTORY_LISTING 0
#endif
#ifndef MG_ENABLE_DNS_SERVER
#define MG_ENABLE_DNS_SERVER 0
#endif
...
...
@@ -1266,6 +1282,10 @@ const char *c_strnstr(const char *s, const char *find, size_t slen);
#define MG_ENABLE_FAKE_DAVLOCK 0
#endif
#ifndef MG_ENABLE_FILESYSTEM
#define MG_ENABLE_FILESYSTEM 0
#endif
#ifndef MG_ENABLE_GETADDRINFO
#define MG_ENABLE_GETADDRINFO 0
#endif
...
...
@@ -1318,12 +1338,6 @@ const char *c_strnstr(const char *s, const char *find, size_t slen);
#define CS_ENABLE_DEBUG 1
#endif
/* All of the below features depend on filesystem access, disable them. */
#if MG_DISABLE_FILESYSTEM
#undef MG_DISABLE_DIRECTORY_LISTING
#define MG_DISABLE_DIRECTORY_LISTING 1
#endif
/* MG_DISABLE_FILESYSTEM */
#ifdef MG_NO_BSD_SOCKETS
#undef MG_DISABLE_SYNC_RESOLVER
#define MG_DISABLE_SYNC_RESOLVER 1
...
...
@@ -2108,7 +2122,7 @@ int mg_base64_decode(const unsigned char *s, int len, char *dst);
*/
void
mg_base64_encode
(
const
unsigned
char
*
src
,
int
src_len
,
char
*
dst
);
#if
!MG_DIS
ABLE_FILESYSTEM
#if
MG_EN
ABLE_FILESYSTEM
/*
* Performs a 64-bit `stat()` call against a given file.
*
...
...
@@ -2135,7 +2149,7 @@ FILE *mg_fopen(const char *path, const char *mode);
* Return value is the same as for the `open()` syscall.
*/
int
mg_open
(
const
char
*
path
,
int
flag
,
int
mode
);
#endif
/* MG_
DIS
ABLE_FILESYSTEM */
#endif
/* MG_
EN
ABLE_FILESYSTEM */
#if MG_ENABLE_THREADS
/*
...
...
@@ -2683,6 +2697,7 @@ size_t mg_parse_multipart(const char *buf, size_t buf_len, char *var_name,
int
mg_get_http_var
(
const
struct
mg_str
*
buf
,
const
char
*
name
,
char
*
dst
,
size_t
dst_len
);
#if MG_ENABLE_FILESYSTEM
/*
* This structure defines how `mg_serve_http()` works.
* Best practice is to set only required settings, and leave the rest as NULL.
...
...
@@ -2884,6 +2899,7 @@ void mg_serve_http(struct mg_connection *nc, struct http_message *hm,
void
mg_http_serve_file
(
struct
mg_connection
*
nc
,
struct
http_message
*
hm
,
const
char
*
path
,
const
struct
mg_str
mime_type
,
const
struct
mg_str
extra_headers
);
#endif
/* MG_ENABLE_FILESYSTEM */
/*
* Registers a callback for a specified http endpoint
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment