Dinis Rosário
3bd79c7cd5
Fix remove_double_dots_and_double_slashes removing all the dots leading http server to serve wrong URI
...
If the uri is something like '/js/...jquery.js', remove_double_dots_and_double_slashes will remove the 3 dots and the http server will serves the /js/jquery.js file.
remove_double_dots_and_double_slashes should check if a dot or double dots is followed by a slash (or backslash) and only remove this to avoid disclosure attack.
2015-03-17 16:04:59 +01:00
Sergey Lyubka
c52e0744cb
Squashed warnings after size_t change
2015-03-17 13:18:15 +00:00
Sergey Lyubka
e4ad3010be
Fix #416
2014-12-30 03:56:29 +00:00
Sergey Lyubka
710b888122
Added -pthread to test/Makefile::CFLAGS
2014-10-17 20:12:29 +01:00
Sergey Lyubka
80db048578
Added more dependencies in test/Makefile
2014-09-15 01:28:03 +01:00
Sergey Lyubka
fac0e9b0ac
Moved unit test to dedicated dir
2014-09-09 18:23:48 +01:00
Sergey Lyubka
5a3b1123f6
tests moved under build
2013-12-07 17:47:14 +00:00
Sergey Lyubka
af7efd980c
Adjusting unit test for core
2013-12-06 22:14:55 +00:00
Sergey Lyubka
ebf9ee089b
Do not send 500 when timing out getreq()
2013-12-05 11:12:07 +00:00
Sergey Lyubka
37751a2875
directory ops moved to directory.c
2013-11-23 10:24:25 +00:00
Sergey Lyubka
5153eebc9b
mg_read() does not block on content_len=0. mg_read() reads until socket is closed if content-length is not provided
2013-10-01 17:47:32 +01:00
Sergey Lyubka
70154f6c23
Moved mod_lua.c to src/lua.c
2013-10-01 15:16:09 +01:00
Sergey Lyubka
ecbf79135f
Refactored API, returned back to event-based handlers. Upload and Websocket API simplified
2013-09-28 11:00:54 +01:00
Sergey Lyubka
98214ce1a4
Removed init_lua() and open_file() callbacks
2013-09-26 09:35:07 +01:00
Sergey Lyubka
46e04e857c
Added test for dir with non-ascii char
2013-09-24 10:08:39 +01:00
Sergey Lyubka
e556a487e0
Fix for the SCRIPT_NAME in the presence of PATH_INFO, https://code.google.com/p/mongoose/issues/detail?id=403
2013-09-07 18:49:24 +01:00
Sergey Lyubka
b461edabd9
Squashed warnings
2013-09-07 18:46:50 +01:00
Sergey Lyubka
18e64397fc
Fixed tests
2013-09-07 07:07:18 +01:00
Sergey Lyubka
d8596fae27
Fixed unit test
2013-08-19 19:10:17 +01:00
Sergey Lyubka
2055d41a9f
Corrected misplaced brackets in parse_http_message()
2013-08-14 10:55:36 +01:00
Sergey Lyubka
743f48b8e0
Added mg_exec_lua_script, mg_prepare_lua_environment -> prepare_lua_environment
2013-08-08 13:11:05 +01:00
Sergey Lyubka
e53d05637a
Binding to IPv6 addresses
2013-07-28 12:15:16 +01:00
Sergey Lyubka
62d66201c9
make match_prefix() case-insensitive
2013-07-25 07:07:25 +01:00
Sergey Lyubka
c80a88a407
Added test for uploading 2 files
2013-07-23 08:17:00 +01:00
Sergey Lyubka
35cb27dbe6
Always use absolute path for document_root. If relative path is used, it is relative to mongoose.exe directory. See https://github.com/valenok/mongoose/issues/181
2013-07-20 14:11:05 +01:00
Sergey Lyubka
e003236a03
Made SSI #include file= relative to the current doc, as per spec
2013-07-19 07:57:47 +01:00
Sergey Lyubka
d864d72470
On windows, enclosing path to CGI script in quotes to allow paths with spaces
2013-07-17 08:24:52 +01:00
Sergey Lyubka
bc40aa5442
fixed strtoll() for win32: using _atoi64
2013-07-14 12:49:24 +01:00
Sergey Lyubka
e7c34c26cb
mg_read() with no Content-Length would read until socket is closed
2013-07-01 08:45:07 +01:00
Sergey Lyubka
6e59ad8a0d
Fix for prepare_lua_environment
2013-05-19 01:25:10 +01:00
Sergey Lyubka
2e232b3304
Lua functionality change: print renamed to mg.write, read renamed to mg.read. Expanded user manual, fixed example pages.
2013-05-15 17:42:34 +01:00
Sergey Lyubka
e579355b01
url_decode -> mg_url_decode
2013-05-08 11:40:13 +01:00
Sergey Lyubka
4120b9bcc0
mg_get_cookie() signature change
2013-04-11 12:49:41 -07:00
Sergey Lyubka
4505b00733
Removed support for option names
2013-03-05 18:26:10 +00:00
Sergey Lyubka
69cb94f3fb
Removed header printing from page.lp
2013-02-27 18:06:35 +00:00
Sergey Lyubka
a58bb71c19
Added Lua section to the user manual
2013-02-27 10:44:59 +00:00
Sergey Lyubka
fbf1ccee45
Fix out-of-bounds acces in url_decode()
2013-02-16 14:31:37 +00:00
Sergey Lyubka
0bd43bcae3
Using mg_strcasestr() instead of strstr()
2013-02-16 14:17:38 +00:00
Sergey Lyubka
b809665cad
Squashed warning
2013-02-16 12:54:16 +00:00
Sergey Lyubka
9baf2d4ba4
Using keep alive in unit test
2013-02-08 08:19:01 +00:00
Sergey Lyubka
cde25a8b82
Removed embedded test
2013-02-03 19:56:24 +00:00
Sergey Lyubka
1b7f036199
Removed embedded test
2013-02-03 19:56:16 +00:00
Sergey Lyubka
b80157b7ea
Setting user data pointer properly
2013-02-03 19:15:27 +00:00
Sergey Lyubka
ee55d38b55
API CHANGE: using struct mg_callbacks
2013-02-01 16:48:30 +00:00
Sergey Lyubka
d73aa1ad09
Added skeleton for regex checks
2013-01-31 18:06:05 +00:00
Sergey Lyubka
d5bc58c38d
Using sqlite as an example
2013-01-31 15:17:40 +00:00
Sergey Lyubka
7ed94d1918
Unit test call fixed
2013-01-27 20:49:30 +00:00
Sergey Lyubka
ec7d0b1abd
Added test_mg_upload()
2013-01-25 20:27:08 +00:00
Sergey Lyubka
75d9a6c844
Removed mg_connect() and mg_fetch(). Added mg_download()
2013-01-23 21:54:27 +00:00
Sergey Lyubka
4b29689a42
Binding to 127.0.0.1 to prevent popup windows on mac
2013-01-22 12:26:56 +00:00
Sergey Lyubka
9c4853471c
Added stub for test_mg_upload()
2013-01-22 09:08:00 +00:00
Sergey Lyubka
bec6ea00ea
Using unit test targets
2013-01-22 08:59:42 +00:00
Sergey Lyubka
83fae879bf
Binding to 127.0.0.1 to prevent annoying popups on mac
2013-01-21 22:29:31 +00:00
Sergey Lyubka
dbb8a5bbf4
put_delete_passwords_file -> put_delete_auth_file
2013-01-18 09:45:36 +00:00
Sergey Lyubka
05fa677382
Fixed unit test to accomodate mg_get_var() API change
2012-12-24 10:43:15 +00:00
Sergey Lyubka
1ef31461bc
Added test_skip_quoted()
2012-12-07 01:50:12 +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
Sergey Lyubka
e251375c0c
Using .lp extension for Lua server pages
2012-10-23 20:21:24 +01:00
Sergey Lyubka
038f8823f1
Added test to mg_stat(). Fixed set_gpass()
2012-10-05 08:58:13 +01:00
Sergey Lyubka
b597da34da
Pass user_data to the callback
2012-10-05 02:10:35 +01:00
Sergey Lyubka
557d1f4c49
Added MG_OPEN_FILE message
2012-09-29 18:56:41 +01:00
Sergey Lyubka
2539a473fe
Added test for byte range past EOF
2012-09-29 18:56:23 +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
8c1866a4af
Lua server pages support
2012-09-26 23:37:03 +01:00
Sergey Lyubka
dfc0f00478
Implement -T option, throttling functionality
2012-09-23 13:28:27 +01:00
Sergey Lyubka
771ce9059c
added
2012-09-22 13:31:10 +01:00
Sergey Lyubka
ff0c2d3f91
Added unit test for mg_get_var
2012-09-22 12:22:30 +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
98fb44f836
Refactored data buffering. Updated websocket example to have 2 message roundtrips.
2012-09-20 13:45:35 +01:00
Sergey Lyubka
f9873eb87a
Experimentl websocket support
2012-09-19 12:23:54 +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
test
66e088d843
Removed the test for a directory name with only a backslash, because this causes problems on windows.
2012-08-27 14:40:32 +02:00
test
83dc425e25
Removed the test for a directory name with only a backslash, because this causes problems on windows.
2012-08-23 16:36:41 +02:00
Sergey Lyubka
ee8111e424
Unbreak backslash dir test
2012-08-19 12:06:35 +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
6619f2edac
Implemented -x option
2012-08-14 16:06:10 +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
df7da95cb6
Setting Host header in mg_fetch. Added test for fetching large file.
2012-07-29 17:12:44 +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
84e26ccddd
More tests for mg_fetch()
2012-07-29 08:33:00 +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
da75a62a32
More tests
2012-07-27 06:24:11 +01:00
Sergey Lyubka
7d5eb279a7
Added unit test
2012-06-07 21:57:40 +01:00
Sergey Lyubka
2e3e1ba7cd
Uncommented unit test in test_should_keep_alive()
2012-06-06 06:48:03 +01:00
Sergey Lyubka
9771d184f2
Squashed -DNO_SSL build warning
2012-06-06 06:45:23 +01:00
Sergey Lyubka
5071978267
Corrected should_keep_alive() per bel2s suggestions
2012-06-04 22:49:16 +01:00
Sergey Lyubka
4c5fee9673
Protect from DoS with negative Content-Length
2012-05-19 07:38:50 +01:00
Sergey Lyubka
82bcf523f3
added
2012-05-05 17:32:54 +01:00
Sergey Lyubka
07e76e4918
Fixing #327
2012-03-23 19:37:32 +00:00
Sergey Lyubka
fbe059acaa
test case for CGI status text
2012-03-04 16:23:46 +00:00
Sergey Lyubka
d1806370bd
few more tests for match_prefix()
2012-03-04 14:45:01 +00:00
Sergey Lyubka
fa22388529
PATH_INFO support
2012-02-20 18:42:43 +00:00
Sergey Lyubka
9d3af98a5e
Remove repeating backslashes only on Windows
2012-02-09 22:55:24 +00:00
Sergey Lyubka
8b65d40fad
Added test for relative path to the CGI interpreter
2012-01-29 19:21:43 +00:00
Sergey Lyubka
d4eecd5070
Renamed test_all_build_flags.pl to all_build_flags.pl
2012-01-29 18:55:25 +00:00
Sergey Lyubka
afd413c3ad
Renamed test_all_build_flags.pl to all_build_flags.pl
2012-01-29 18:55:07 +00:00
valenok
8ea40bae4b
Introduced $ meta character in glob expressions
2012-01-26 03:21:51 +00:00
valenok
ed70793670
Options ssi_extensions, cgi_extensions became cgi_pattern, ssi_pattern
2012-01-24 09:30:01 +00:00
valenok
01c5ee0973
Added -w option
2012-01-23 22:03:36 +00:00
Sergey Lyubka
aa90972a31
Set code 302 automatically if CGI reply has Location: header present
2011-11-06 11:24:23 +01:00
Sergey Lyubka
8601b03ead
Do not set Connection: keep-alive unless -enable_keep_alive is set
2011-11-06 10:04:55 +01:00
Sergey Lyubka
862df691ce
Adjusted flags
2011-08-26 12:35:08 +01:00
Sergey Lyubka
025b11b176
Fixed buffer overflow in put_dir()
2011-08-03 11:39:55 +02:00
valenok
5cf7e899c4
Allow config file to be specified as the first command line argument. Allow cmd line options be specified together with the config file.
2011-06-21 22:04:58 +01:00
Arnout Vandecappelle (Essensium/Mind)
08bf149d85
timeout.cgi test sometimes failed.
...
Using STDOUT->autoflush(1) seems to work better than $|=1 - I don't know
why.
Also made the timeout.cgi test a bit more verbose.
2010-12-07 12:38:11 +01:00
Arnout Vandecappelle (Essensium/Mind)
a9b6eb1809
Fix for issue#209: support spaces, commas, quotes and other weirdness in Authorization header.
2010-12-03 12:48:56 +01:00
Sergey Lyubka
ac09360430
Accept * URI
2010-11-29 18:27:25 +01:00
Sergey Lyubka
9bda69f573
Fix issue 180 - make mg_read() handle PUT requests, too. Stop checking for request method in mg_read().
2010-11-29 17:56:26 +01:00
Arnout Vandecappelle (Essensium/Mind)
fb9493a090
Bugfix of Issue #180 : mg_read() should accept PUT requests.
2010-11-29 16:27:30 +01:00
Sergey Lyubka
1de7fef760
fix blocked CGI read
2010-11-15 10:41:17 +01:00
valenok
d44f4e4abb
import
2010-11-13 16:47:25 +00:00
valenok
3cd16d7266
test for immediate CGI output forward
2010-11-12 21:15:30 +00:00
Arnout Vandecappelle (Essensium/Mind)
de934641be
Test for Issue#200: Multiple calls to mg_read always return same data.
2010-11-02 11:13:54 +01:00
valenok
11951a57ff
API change: added void *user_data to mg_start(). Bumped version to 3.0
2010-10-26 23:37:44 +01:00
valenok
1811240587
exporting correct SCRIPT_FILENAME for CGI
2010-09-19 13:00:49 +01:00
valenok
647719861b
honoring command line flags when using config file, command line flags take preference
2010-09-14 11:17:09 +01:00
valenok
06418fa4e6
added -access_control_list option to cmdline
2010-09-07 00:36:53 +01:00
Sergey Lyubka
75b6717d8b
wrapped set_ssl_option call into NO_SSL conditional. Fixed test.
2010-08-31 11:58:45 +02:00
valenok
f105b74dc0
experimental keep-alive, options defaults
2010-08-31 08:01:14 +01:00
valenok
fed9ffc150
struct mg_request_info * -> const struct mg_request_info *
2010-08-31 07:49:55 +01:00
valenok
546bec333c
API change for mg_start: most binary compatible across releases.
2010-08-29 22:30:49 +01:00
valenok
8d79e5b43f
removed Testing test prefix in messages
2010-08-23 07:26:33 +01:00
Sergey Lyubka
5425b94f39
introduced struct mg_config. Fixed Range response.
2010-06-25 17:23:17 +02:00
Sergey Lyubka
a69a2da39d
Initial import - converting from Subversion.
2010-05-03 21:46:42 +01:00