Sergey Lyubka
eecf24b20c
Improved CGI disclosure protection
2013-01-09 14:24:50 +00:00
Sergey Lyubka
bde9a63390
Endianess patch by Forrest
2013-01-03 10:29:34 +00:00
Sergey Lyubka
5e491801da
3.4 -> 4.5
2012-12-26 10:02:14 +00:00
Sergey Lyubka
eed09600f7
Ignoring .htpasswd file for PUT and DELETE requests. Those use separate passwords file.
2012-12-25 11:49:41 +00:00
Sergey Lyubka
8d6634ff7e
Allowing HEAD method for CGI requests
2012-12-25 11:22:48 +00:00
Sergey Lyubka
6c9ed3ca53
Changed GetFullPathName -> GetFullPathNameA
2012-12-25 11:08:03 +00:00
Sergey Lyubka
ede1befffa
Fix read_websocket() for content length > 125
2012-12-25 11:05:19 +00:00
Sergey Lyubka
2cd4852321
Restore SIGCHLD handler to SIG_DFL in CGI process
2012-12-25 11:00:29 +00:00
Sergey Lyubka
1eb719f2d9
Checking for endianness in runtime in MD5 and SHA code
2012-12-24 21:23:34 +00:00
Sergey Lyubka
113c9d5a02
Fix keep-alive handling in process_new_connection()
2012-12-24 11:01:56 +00:00
Sergey Lyubka
ab3c070e1c
Merge pull request #66 from nullable-type/master
...
Made behavior of mg_get_cookie(..) regarding errors the same as of mg_get_var(..)
2012-12-23 04:40:35 -08:00
Sergey Lyubka
2e6a01b931
Fix for the relative document root & PHP
2012-12-22 18:24:48 +00:00
tayS
6869b64b31
Fix for hang when sending large request with SSL enabled
...
When using SSL, we must use SSL_pending() in addition to/instead of select() to determine whether there is SSL data to be read.
This update makes the SSL_pending() function available and uses is to check for data if select() indicates there is no data.
See https://github.com/valenok/mongoose/issues/47
2012-12-21 12:38:34 -06:00
nullable.type
8faf6f7b72
Made behavior of mg_get_cookie(..) on errors the same as mg_get_var(..). Separated the two cases a.) problems with destination buffer and b.) cookie header or cookie parameter not existing.
2012-12-16 22:20:21 +01:00
nullable.type
c9183f3851
Made the names of the function arguments of the declaration and the definition of mg_get_var(..) the same.
...
Changed the error codes to have a consistent way of reporting errors. -2 is returned if there is a problem with the size of the destination buffer. -1 is returned if the variable is not found.
Updated the documentation of mg_get_var(..) in mongoose.h and removed the redundant comments from mongoose.c.
2012-12-16 12:27:53 +01:00
Sergey Lyubka
0912a7f473
Merge pull request #60 from bakanatorz/master
...
Added support for Ogg Vorbis audio files
2012-12-09 13:26:57 -08:00
Sergey Lyubka
64cfe1d389
Merge pull request #49 from nullable-type/master
...
Avoid some level-4 warnings issued by Visual Studio (2012 and possibly previous versions)
2012-12-08 06:47:35 -08:00
Sergey Lyubka
69b0b58d46
Merge branch 'master' of ssh://github.com/valenok/mongoose
2012-12-07 01:50:52 +00:00
Sergey Lyubka
0d442058e5
Added mg_upload()
2012-12-07 01:50:47 +00:00
Sergey Lyubka
0b09df97ac
On new connection, clear off receiving buffer
2012-12-05 23:07:20 +00:00
Sergey Lyubka
080cb2dd4b
Changed signature of url_decode(): signalling on destination buffer overflow. mg_get_var() now does not require extra space for variable buffer
2012-11-14 09:26:02 -08:00
Eric Bakan
786caaecb2
Added support for Ogg Vorbis audio files
2012-11-12 10:40:19 -05:00
nullable.type
eb92b5f1b3
Avoid memory leaks if duplicate options are passed.
2012-11-02 22:52:47 +01:00
nullable.type
c5ba6016aa
Suppress warning C4127 (conditional expression is constant) issued by Visual Studio 2012 introduced by FD_SET(..) which is using the do-while(0) trick.
2012-10-27 14:09:26 +02:00
nullable.type
73a845a327
Suppress warning C4204 (non-constant aggregate initializer) issued by Visual Studio 2012 due to missing C99 support.
2012-10-27 14:07:06 +02:00
nullable.type
6eec552ea4
Added declaration to avoid warning C4115 (named type definition in parentheses) issued by Visual Studio 2012.
2012-10-27 14:04:41 +02:00
Sergey Lyubka
4fcb64fe90
Fix exception in win32 code path when CGI exec fails
2012-10-24 10:12:32 +01:00
Sergey Lyubka
8966f47c7a
Merge branch 'master' of ssh://github.com/valenok/mongoose
2012-10-23 20:21:38 +01:00
Sergey Lyubka
e251375c0c
Using .lp extension for Lua server pages
2012-10-23 20:21:24 +01:00
Mitch Hendrickson
f8713ede2d
Use existing must_close flag instead of adding is_closing
2012-10-19 19:51:01 -07:00
Mitch Hendrickson
0b5f854bf0
Fix 30s timeout when closing a socket that has no remaining data, introduced in 375950f6; setting the socket nonblocking makes recv() return instantly but not select()
2012-10-15 23:09:14 -07:00
Sergey Lyubka
3770020b74
Remove winsock include - windows.h does that for us
2012-10-14 15:08:43 +01:00
Sebastian Reinhard
025cd283c4
Fixed an error in mongoose.c that caused a lot of errors where winsock2.h was included after windows.h
2012-10-13 12:47:51 +02:00
Sergey Lyubka
5157bd0960
Merge branch 'master' of ssh://github.com/valenok/mongoose
2012-10-10 15:12:30 +01:00
Sergey Lyubka
2aaedef4af
Trimming whitespaces properly in windows CGI interpreter name
2012-10-10 15:12:16 +01:00
shantanugadgil
011bdc22b2
Update mongoose.c
...
Add default MIME type for xsl
2012-10-08 09:55:33 +05:30
Sergey Lyubka
b437d56736
Added MG_INIT_LUA event
2012-10-08 00:09:43 +01:00
Sergey Lyubka
038f8823f1
Added test to mg_stat(). Fixed set_gpass()
2012-10-05 08:58:13 +01:00
Sergey Lyubka
03dd8367bf
Merge branch 'master' of ssh://github.com/valenok/mongoose
2012-10-05 02:10:47 +01:00
Sergey Lyubka
b597da34da
Pass user_data to the callback
2012-10-05 02:10:35 +01:00
Sergey Lyubka
365b5e8f8a
Using long for file size in MG_OPEN_FILE ev_data
2012-10-01 10:19:20 +01:00
Sergey Lyubka
47651766fb
Squashed warning under linux
2012-09-30 16:35:09 +01:00
Sergey Lyubka
55c8c82c4b
Fixed windows build
2012-09-29 22:21:10 +01:00
Sergey Lyubka
557d1f4c49
Added MG_OPEN_FILE message
2012-09-29 18:56:41 +01:00
Sergey Lyubka
6bd35a4c18
Style changes
2012-09-28 10:36:31 +01:00
Sergey Lyubka
3ffdf5459a
API change: folded user_data into request_info, and introduced event-specific ev_data
2012-09-27 22:20:02 +01:00
Sergey Lyubka
02098b1903
API change: folded user_data into request_info, and introduced event-specific ev_data
2012-09-27 21:48:05 +01:00
Sergey Lyubka
d970705596
#define MAP_PRIVATE 0 for _WIN32
2012-09-27 08:19:14 +01:00
Sergey Lyubka
5c9ab40601
Using MAP_PRIVATE for mmap, to fix mac build for Lua
2012-09-27 08:17:31 +01:00
Sergey Lyubka
30d1573346
Fixed spawn_proccess() for win32 for .exe binaries
2012-09-27 00:27:20 +01:00
Sergey Lyubka
8c1866a4af
Lua server pages support
2012-09-26 23:37:03 +01:00
Sergey Lyubka
7fe2944477
Squashed warnings in win32 websocket code
2012-09-24 21:24:02 +01:00
Sergey Lyubka
93131417e6
is_websocket_request() modified to check for the presence of keyword rather then euqality
2012-09-24 09:38:02 +01:00
Sergey Lyubka
2118de37c3
3.3 -> 3.4
2012-09-23 15:02:18 +01:00
Sergey Lyubka
2ffb558e30
nullify ssl_mutexes after free-ing them
2012-09-23 14:19:36 +01:00
Sergey Lyubka
ba6c01e602
Fixed check_acl()
2012-09-23 13:50:36 +01:00
Sergey Lyubka
dfc0f00478
Implement -T option, throttling functionality
2012-09-23 13:28:27 +01:00
Sergey Lyubka
ecb2b0e53d
Cleaner compilation for 16-bit targets
2012-09-23 02:13:53 +01:00
Sergey Lyubka
ed74cd82f5
Added declarations for printf like functions
2012-09-23 01:35:59 +01:00
Sergey Lyubka
d2be594262
defining PATH_MAX if not defined
2012-09-22 15:49:58 +01:00
Sergey Lyubka
1e632d3215
Removed "Content-Type: text/plain" header from send_http_error() response.
2012-09-22 15:21:21 +01:00
Sergey Lyubka
5642dfcf38
CGI handling on windows: constructing full path to the interpreter. enabling SO_REUSEADDR on listening socket.
2012-09-22 15:15:46 +01:00
Sergey Lyubka
4dff36ffde
removed unused struct timespec
2012-09-22 13:36:24 +01:00
Sergey Lyubka
bce3a85702
#including winsock2 and ws2tcpip headers by default on windows
2012-09-21 19:22:35 +01:00
Sergey Lyubka
f741349d51
Fixed calculation of the number of leap days
2012-09-21 17:21:04 +01:00
Sergey Lyubka
25863b59a6
Sending MG_WEBSOCKET_CLOSE
2012-09-21 09:05:45 +01:00
Sergey Lyubka
586574e176
Added #pragma comment(lib, "Ws2_32.lib") for win32
2012-09-21 09:03:47 +01:00
Sergey Lyubka
0f15954727
Skip SSL init if PEM file is not specified
2012-09-20 20:39:43 +01:00
Sergey Lyubka
167338f216
Using slash, "/" as the universal directory separator throughout the code
2012-09-20 18:20:41 +01:00
Sergey Lyubka
614b219a27
Marking WRITE end of a pipe as closed in handle_cgi_request()
2012-09-20 17:22:22 +01:00
Sergey Lyubka
35cf8687df
Merge pull request #32 from okigan/master
...
Compile on Windows
2012-09-20 08:45:31 -07:00
Sergey Lyubka
d883b0f0f9
Prevent possible assert fail on windows in handle_cgi_request()
2012-09-20 15:11:38 +01:00
Sergey Lyubka
364235e7ae
Squashed warning on windows
2012-09-20 14:54:51 +01:00
Sergey Lyubka
98fb44f836
Refactored data buffering. Updated websocket example to have 2 message roundtrips.
2012-09-20 13:45:35 +01:00
Igor Okulist
2260c8ddc0
Merge branch 'master' of https://github.com/okigan/mongoose
2012-09-19 20:57:00 -07:00
Sergey Lyubka
f9873eb87a
Experimentl websocket support
2012-09-19 12:23:54 +01:00
Sergey Lyubka
358e4ffbf5
extra check in cry() for NULL context
2012-09-18 09:47:29 +01:00
Sergey Lyubka
9aad922983
added mg_get_ssl_context. passing fake connection to the MG_INIT_SSL event
2012-09-17 23:36:06 +01:00
Sergey Lyubka
05b2a04267
moved status_code, user_data, log_message out of struct mg_request_info
2012-09-17 19:38:19 +01:00
Sergey Lyubka
4408083b4d
removed ssl chain file option. restored context param in fc() call
2012-09-17 19:19:15 +01:00
Igor Okulist
4f01f101fc
Compile on Win32
2012-09-15 20:40:28 -07:00
Sergey Lyubka
d9f9911d9b
removed max request size from options, moved to the #define
2012-09-15 10:58:50 +01:00
Sergey Lyubka
0bb67e06c1
#define _XOPEN_SOURCE 600 only for linux
2012-09-15 10:51:35 +01:00
Sergey Lyubka
518b3aa726
Merge pull request #12 from nigels-com/master
...
Touch-ups for Regal build of mongoose
2012-09-14 03:28:20 -07:00
Sergey Lyubka
8072b0a7d4
Do not report error if mg_printf() printed 0 bytes
2012-09-13 21:58:37 +01:00
Sergey Lyubka
43953782f9
Do not require SSL, fix for issue 20
2012-09-06 10:06:30 +01:00
Sergey Lyubka
12e133a5e9
Merge branch 'master' of ssh://github.com/valenok/mongoose
2012-09-06 10:00:42 +01:00
Sergey Lyubka
e92d4451ef
fc() doesnt take ctx argument anymore
2012-09-06 09:54:39 +01:00
Marin Atanasov Nikolov
0521d78982
Fix building of mongoose under FreeBSD.
...
According to flockfile(3) under Linux you need only this:
#define _XOPEN_SOURCE
* http://man7.org/linux/man-pages/man3/flockfile.3.html
This also fixes the build under FreeBSD.
2012-09-04 11:58:45 +03:00
Sergey Lyubka
3602d54a5b
Better check for NULL in mg_connect()
2012-09-03 22:36:40 +01:00
Nigel Stewart
fafc9c6a20
Undefine WIN32_LEAN_AND_MEAN, if necessary.
...
Allow debug tracing to be disabled in debug-mode build by defining DEBUG_TRACE at compile-time.
2012-08-28 08:25:10 -05:00
Sergey Lyubka
c92d7c3bc8
Fix for Android: fread() might return < 0
2012-08-25 22:10:45 +01:00
Sergey Lyubka
ee91109d9f
Ger Hobbelt's fixes
2012-08-25 22:02:51 +01:00
Sergey Lyubka
ab6f145e3e
Update thread count on OOM error in worker_thread()
2012-08-25 20:24:09 +01:00
Sergey Lyubka
3d3359910f
Added printf format checking macros. Changed mg_printf() to allocate the buffer on heap if it does not fit the local one.
2012-08-19 12:08:33 +01:00
Ger Hobbelt
ccf43fe3e3
backport of the relevant fix as per http://code.google.com/p/mongoose/issues/detail?id=370#c5
2012-08-18 21:44:29 +02:00
Sergey Lyubka
8b491d75b5
added const in mg_get_request_info()
2012-08-18 16:47:25 +01:00
Sergey Lyubka
d70c18d692
3.2 -> 3.3
2012-08-17 21:42:25 +01:00
Sergey Lyubka
9378946e7d
Added comments in read_request()
2012-08-17 02:13:18 +01:00
Sergey Lyubka
d7e6492fac
Refactored code that discards request data after handling
2012-08-17 01:49:36 +01:00
Sergey Lyubka
102101e9d6
Corrected dangerous assert() in process_new_connection
2012-08-16 22:48:29 +01:00
Sergey Lyubka
cf53f3da4f
Revert "Added MG_SHUTDOWN event"
...
This reverts commit 15a0d819ed
.
There is no point in MG_SHUTDOWN. Thread that calls mg_stop() can
do the same thing.
2012-08-16 20:20:18 +01:00
Sergey Lyubka
15a0d819ed
Added MG_SHUTDOWN event
2012-08-16 17:24:33 +01:00
Sergey Lyubka
6add727c72
%zu printf spec is not understood by MS compiler, changing it to %lu
2012-08-16 11:33:16 +01:00
Sergey Lyubka
375950f6d7
Fixed hang for keep-alive connections
2012-08-16 00:05:46 +01:00
Sergey Lyubka
38d805933e
Passing mg_connection to pull() function, in order to give it access to the stop status
2012-08-15 21:51:46 +01:00
Sergey Lyubka
941500f967
Sorted options list alphabetically
2012-08-15 21:40:43 +01:00
Sergey Lyubka
6619f2edac
Implemented -x option
2012-08-14 16:06:10 +01:00
Sergey Lyubka
33853cd5de
BUFSIZ -> MG_BUF_LEN
2012-08-14 13:32:24 +01:00
Sergey Lyubka
9a807aa7be
Added If-None-Match support
2012-08-14 08:26:42 +01:00
Sergey Lyubka
4a5e1ecf92
Fixed error logging in set_ssl_option()
2012-08-11 10:29:08 +01:00
Sergey Lyubka
0e0091e1c0
Changing API: callback doesnt get mg_request_info pointer anymore, but it is possible to get it using mg_get_request_info()
2012-08-03 11:15:38 +01:00
Sergey Lyubka
e8f3132aa8
Added .json => text/json mime type. In handle_cgi_request, closing write stream straight after data is sent to the CGI process.
2012-08-03 00:10:01 +01:00
Sergey Lyubka
dccc524adb
Fixed fseek() on large files on windows, using _lseeki64() and not casting to off_t
2012-08-02 15:41:39 +01:00
Sergey Lyubka
b42d25edd2
NOT exporting string functions
2012-07-31 23:52:46 +01:00
Sergey Lyubka
39215f6930
Exported mg_get_builtin_mime_type()
2012-07-31 08:58:44 +01:00
Sergey Lyubka
df7da95cb6
Setting Host header in mg_fetch. Added test for fetching large file.
2012-07-29 17:12:44 +01:00
Sergey Lyubka
4bc508525b
Exported string functions
2012-07-29 14:04:48 +01:00
Sergey Lyubka
a9bb7d78ab
Fixed mg_fetch() by passing a buffer, placeholder for the reply headers
2012-07-29 10:15:37 +01:00
Sergey Lyubka
e6bb39a2d3
Using client-side SSL context for mg_connect()
2012-07-28 18:57:04 +01:00
Sergey Lyubka
104480ed9c
mg_start_thread() exported
2012-07-28 12:06:26 +01:00
Sergey Lyubka
c1ab21ecfe
Argh, nasty typo fixed
2012-07-28 11:32:05 +01:00
Sergey Lyubka
6c54370aa1
Added mg_connect(), mg_fetch() API functions. More tests added
2012-07-28 11:04:03 +01:00
Sergey Lyubka
0b4676b711
More unit test for parse_http_header()
2012-07-14 10:29:38 -07:00
Sergey Lyubka
39fd804aeb
Using BUFSIZ->16384 buffer size for the headers returned by CGI. BUFSIZ may be too small, e.g. 512
2012-06-15 22:38:49 +01:00
Sergey Lyubka
97392645c4
Refactored read_request()
2012-06-07 21:36:57 +01:00
Sergey Lyubka
9771d184f2
Squashed -DNO_SSL build warning
2012-06-06 06:45:23 +01:00
Sergey Lyubka
3ca6155add
should_keep_alive() nitpick fix
2012-06-04 22:56:58 +01:00
Sergey Lyubka
594a37d51d
refactored should_keep_alive() for better readability
2012-06-04 22:51:22 +01:00
Sergey Lyubka
5071978267
Corrected should_keep_alive() per bel2s suggestions
2012-06-04 22:49:16 +01:00
Sergey Lyubka
e6357396ef
made readdir() static
2012-05-31 15:42:15 +01:00
Sergey Lyubka
bd3b812b82
Added index.shtml and index.php to index_files
2012-05-27 10:35:51 +01:00
Sergey Lyubka
4c5fee9673
Protect from DoS with negative Content-Length
2012-05-19 07:38:50 +01:00
Sergey Lyubka
cdd905c0fb
Added #include <ws2tcpip.h>
2012-03-29 11:09:35 +01:00
Sergey Lyubka
5a22cb90b9
Fixing #327
2012-03-23 19:37:21 +00:00
Sergey Lyubka
9d4d48e703
Using mg_sleep() instead of sleep()
2012-03-13 21:17:03 +00:00
Sergey Lyubka
108a9739f4
3.1 -> 3.2
2012-03-11 22:54:12 +00:00
Sergey Lyubka
2824ae345d
Added new event, MG_REQUEST_COMPLETE
2012-03-11 22:38:28 +00:00
Sergey Lyubka
a6678814af
Checking malloc return code in worker_thread()
2012-03-11 22:25:27 +00:00
Sergey Lyubka
cda24d94fb
Fixed overflow in substitute_index_file()
2012-03-11 22:19:12 +00:00
Sergey Lyubka
f085e68baf
Added check for the duplicate option
2012-03-11 22:14:50 +00:00
Sergey Lyubka
b78110b92e
Using MSG_NOSIGNAL in send()
2012-03-11 21:58:04 +00:00
Sergey Lyubka
37503c78c8
setting conn->must_close = 1; in handle_propfind()
2012-03-11 21:52:12 +00:00
Sergey Lyubka
83447fb6e5
Fix Windows build
2012-03-11 21:32:53 +00:00
Sergey Lyubka
2a3f31f521
Using g++ for compilation. Fixed C++ build.
2012-03-06 20:19:47 +00:00
Sergey Lyubka
dcecfadbeb
Use static initialization for STARTUPINFO and PROCESS_INFORMATION
2012-03-04 19:40:25 +00:00
Sergey Lyubka
5faa2de3f5
Directory request closes the connection
2012-03-04 16:24:18 +00:00
Sergey Lyubka
6dc1b347a0
Various fixes from bel2125, http://code.google.com/r/bel2125-mongoose/source/detail?r=9fe067d34a3f3a7311f86627b8e1ecb7719a663d
2012-03-04 16:00:12 +00:00
Sergey Lyubka
c88f736971
Removed DEBUG_TRACE from convert_uri_to_file_name()
2012-02-22 18:30:59 +00:00
Sergey Lyubka
b10b989865
Increasing master thread priority on Windows
2012-02-20 23:27:40 +00:00