Stefan Bühler
64ba5fddce
Cleanup value pointer extractions
2010-01-24 23:00:48 +01:00
Stefan Bühler
cdb615293c
[autobuild] Fix dependency problem with automake (automake doesn't like it if ../dir/ is cwd)
2010-01-24 11:47:58 +01:00
Stefan Bühler
edd74a0e3c
Rename lighttpd to lighttpd2
2010-01-03 19:53:48 +01:00
Thomas Porzelt
9bd5c39550
[core] Add vr->ts_started struct member, representing the ev_tstamp when the vr has been started
2010-01-03 17:39:26 +01:00
Thomas Porzelt
8716087728
[core] Rename con->ts to con->ts_started
2010-01-03 17:26:07 +01:00
Stefan Bühler
4fd27aca81
autotools: Fix linking
2009-12-25 22:38:52 +01:00
Stefan Bühler
63eadd22fa
Fix buildsystems
2009-12-21 21:07:27 +01:00
Stefan Bühler
fe7ddede88
Add lua plugins
2009-12-21 19:09:55 +01:00
Stefan Bühler
b4c3e2ba02
Add userdata to action-create, setup and plugin-init callbacks
2009-12-21 12:29:14 +01:00
Stefan Bühler
881669d96a
Add lua filters; fixed some lua-api bugs; enhanced lua chunkqueue api
2009-12-20 23:45:03 +01:00
Stefan Bühler
3d50819d14
Move the cqlimit reset/set back to connection.c (vrequest_reset may be called with data in con->raw_in, so cqlimit_reset isn't a good idea)
2009-12-20 16:49:10 +01:00
Stefan Bühler
402c45dc45
Add buffer-on-disk for uploads automatically
2009-12-19 22:18:10 +01:00
Stefan Bühler
2f06283832
Change internal conditional checks; export functions to read value of conditional-lvalues
2009-12-19 17:41:55 +01:00
Stefan Bühler
b332fcbbb8
Add api for buffering chunkqueue content on disk
2009-12-15 16:58:08 +01:00
Stefan Bühler
3bc425fef1
Remove config parser code from main(), add cmake-option to disable default config parser
2009-12-13 21:35:46 +01:00
Stefan Bühler
eff8ed5e50
Add request.environment[] conditional
2009-12-13 00:36:56 +01:00
Stefan Bühler
871a4dc8b5
Add unit-testing for range-parser and fix the parser
2009-12-05 15:56:14 +01:00
Stefan Bühler
c5f6c3166d
Replace lseek()+read() with pread() in chunk.c
2009-12-02 20:24:16 +01:00
Stefan Bühler
0c3ca6b13b
add liBuffer: a reference-counted memory chunk (using mempool) for basic network data
2009-11-29 17:54:01 +01:00
Stefan Bühler
f9b12036fe
Add mempool allocator to avoid fragmentation
2009-11-29 15:22:57 +01:00
Thomas Porzelt
b79cda7fce
[core] Limit outgoing chunkqueue mem usage to 512kb by default
2009-11-28 14:34:49 +01:00
Thomas Porzelt
477a060821
Fix typo in previous commit
2009-11-28 11:47:40 +01:00
Thomas Porzelt
cb7005bdf0
[core] Fix io.buffer_in action (was setting out buffer)
2009-11-28 11:25:57 +01:00
Stefan Bühler
8f69c6bc8d
Reduce buffer allocs for network read
2009-11-22 18:50:11 +01:00
Stefan Bühler
1ac09ac2d1
Use relative timestamp for angel call timeouts, increase angel-listen timeout.
...
* While lighty runs the initialization, the difference between ev_now()
and ev_time() might be bigger than the timeout - which leads to an
immediate timeout.
2009-11-22 14:48:18 +01:00
Thomas Porzelt
9989cd62ce
[core] Fix value statements in config parser (now using stack for operator)
2009-11-21 16:36:42 +01:00
Stefan Bühler
49a99eb0e8
Fix handling of responses without body; check that really no content is sent.
2009-11-18 21:34:54 +01:00
Stefan Bühler
951c7e4e8d
Fix memleak in lua vr:stat()
2009-11-18 20:28:15 +01:00
Stefan Bühler
8a8fb91729
Add some features to mod_dirlist, move directory-redirect to vrequest functions and use it for index files
2009-11-15 21:59:16 +01:00
Stefan Bühler
619a2d6582
stat-cache: close file if fstat fails
2009-11-15 21:48:00 +01:00
Stefan Bühler
6fcfd96b53
Fix lua struct stat export
2009-11-15 21:47:32 +01:00
Stefan Bühler
4e6e5e54c5
Fix lua api for vr:stat(filename)
2009-11-12 22:02:55 +01:00
Stefan Bühler
2c343ed5d8
Add pathinfo action
2009-11-11 14:55:00 +01:00
Stefan Bühler
9561a565c5
Fix alias action config parsing
2009-11-11 13:47:47 +01:00
Stefan Bühler
35ccb73638
Add alias action
2009-11-11 13:35:14 +01:00
Stefan Bühler
c3ae0163c8
Use less pointers in chunks, "inline" structures
2009-11-08 11:12:12 +01:00
Thomas Porzelt
e6c50c644b
[core] Retry open() in stat_cache in case of EINTR
2009-11-07 15:44:13 +01:00
Thomas Porzelt
6bf284b754
[core] Record peak values of worker stats
2009-11-07 15:42:03 +01:00
Thomas Porzelt
175db515a6
[core] Change behaviour of connection garbage collector in worker a bit, only free if below threshold for more than 5 minutes
2009-11-07 13:21:46 +01:00
Thomas Porzelt
53096333f1
[core] Fix connection garbage collector
2009-11-07 11:57:13 +01:00
Stefan Bühler
2060595760
Change max-keep-alive requests to 0 "unlimited"
2009-11-01 15:43:34 +01:00
Stefan Bühler
d9228f3ef0
Add per worker lua_State
2009-11-01 15:43:12 +01:00
Stefan Bühler
c6741f7716
Implement li_filter_chunked_decode + one unit-test for it
2009-10-19 21:45:00 +02:00
Stefan Bühler
75e5fdca69
Drop 1xx responses in response parsing
2009-10-19 18:59:26 +02:00
Thomas Porzelt
323dcfa9dc
[plugin_core] Add burst functionality to io.throttle action (io.throttle 1mbyte => 50kbyte;)
2009-10-18 20:00:09 +02:00
Stefan Bühler
44548691ca
Remove unused vars
2009-10-14 19:34:44 +02:00
Stefan Bühler
a9d28d50ae
Fix broken path: remove querystring
2009-10-14 19:29:08 +02:00
Stefan Bühler
f96e35e03a
Fix response.c to not send chunked encoding/.. for head requests with no content
2009-10-12 00:21:27 +02:00
Stefan Bühler
be6e2f4466
Fix etags (broken as "throttle" option was removed but not removed from enum)
2009-10-12 00:09:22 +02:00
Stefan Bühler
82293453a2
automake: fix build problem
2009-10-09 15:51:29 +02:00
Stefan Bühler
a151eeac2f
Prefix li_ cleanup, verified with nm -g --defined-only
2009-10-09 15:38:12 +02:00
Stefan Bühler
e71b64f41f
Add a li_const_gstring method to create fake GStrings; make some GString* parameters const
2009-10-08 14:33:47 +02:00
Stefan Bühler
4a10b6a85a
Add static.exclude_extensions
2009-10-08 13:37:53 +02:00
Stefan Bühler
8b78256010
Fix bug introduced with ranged requests
2009-10-07 23:07:05 +02:00
Stefan Bühler
7830dadb45
Fix compability with older glib versions
2009-10-07 22:53:50 +02:00
Stefan Bühler
dc05e13c97
Implement ranged requests for static files
2009-10-07 22:49:40 +02:00
Stefan Bühler
24a34c3633
Export li_chunkfile functions
2009-10-07 22:48:57 +02:00
Thomas Porzelt
82d7fd61e0
[core] Add header.remove action
2009-10-07 21:08:28 +02:00
Thomas Porzelt
99881ac874
[core] Rename several actions to make it more consistent
2009-10-07 20:53:26 +02:00
Stefan Bühler
a49d51bdd3
Support keep-alive vrequest reset, which keeps some request data to be shown in mod_status
2009-10-07 16:02:09 +02:00
Stefan Bühler
90447c6cec
Some fixes for HEAD and 206 Partial Content handling
2009-10-07 12:36:52 +02:00
Stefan Bühler
e7e929d295
luaApi: add vr:enter_action(act)
2009-10-05 20:57:09 +02:00
Stefan Bühler
20a8fc4ea8
Allow an action to execute another and rerun after it
2009-10-05 20:56:50 +02:00
Stefan Bühler
df207beb6b
stat cache: Alloc dirlist entry array only if stat was successful
2009-10-05 19:42:19 +02:00
Stefan Bühler
4653900eca
Fix stat-cache ref counting
2009-10-05 19:41:48 +02:00
Thomas Porzelt
5e1c8a7725
[core] Fix compiler warning introduced with previous commit (not shown on osx...)
2009-10-04 17:00:19 +02:00
Thomas Porzelt
eff81a92e9
[core] Don't increase refcount for module when specified multiple times in config
2009-10-04 16:58:31 +02:00
Thomas Porzelt
24ef64338f
[core] Add missing call to free-callback in li_server_plugins_free()
2009-10-04 16:38:53 +02:00
Stefan Bühler
855ac43999
Fix small copy/paste bug
2009-10-04 14:27:48 +02:00
Stefan Bühler
a14a709237
Add max-connections check, set to max-fds/4
2009-10-04 14:25:59 +02:00
Stefan Bühler
8ac057d3d5
angel: Add wrapper, env and copy-env to instance config
2009-10-03 21:14:34 +02:00
Stefan Bühler
7cf91dc9ad
Fix previous commit (missing plugin_core include)
2009-10-03 17:15:44 +02:00
Stefan Bühler
856a841820
Move io-timeout message into log_request_handling
2009-10-03 17:14:56 +02:00
Stefan Bühler
0d6795f08a
Remove write event if out queue gets empty
2009-10-03 16:48:48 +02:00
Stefan Bühler
037c78e8ed
Fix closing sockets on shutdown
2009-10-03 16:48:35 +02:00
Stefan Bühler
367404fdb1
Add "request.is_handled" condition
2009-10-03 16:47:57 +02:00
Stefan Bühler
80346e85d1
Fix to-angel logging, disable message repeat counter
2009-10-03 15:46:36 +02:00
Stefan Bühler
476698f118
luaApi: move global method/constants into lighty. namespace, add vr:stat(filename)
2009-10-03 15:26:35 +02:00
Stefan Bühler
ac923e9d0c
Improve lua api
2009-10-02 16:18:26 +02:00
Stefan Bühler
48721307b3
Remove req/s debug output, put docroot debug in request-handling option
2009-10-02 12:13:37 +02:00
Stefan Bühler
aadbf51c84
Fix two more leaks, add some safe = NULL inits, free ssl error strings
2009-10-02 12:09:37 +02:00
Stefan Bühler
95e8368099
Fix mod_status handle_direct/WAIT_FOR_EVENT bug
2009-09-29 14:52:59 +02:00
Stefan Bühler
987b28520d
mod_deflate: add 304 not modified handling, handle HEAD requests
2009-09-29 11:46:40 +02:00
Stefan Bühler
471a521f48
Improve filter handling (handle reverse out stream closing)
2009-09-29 11:45:55 +02:00
Stefan Bühler
6702e1413b
Fix too fast closing of con->out (skipped mod-deflate), rely on closed vr->out instead
2009-09-29 00:58:55 +02:00
Stefan Bühler
7133bae151
Fix vrequest state machine w. waiting actions
2009-09-29 00:24:37 +02:00
Thomas Porzelt
a7e15569e1
[core] Add comment for cheap fix introduced in the previous commit
2009-09-28 23:16:48 +02:00
Thomas Porzelt
f51e9e6129
[core] Fix segfault when regex condition errors
2009-09-28 23:06:26 +02:00
Thomas Porzelt
97e54c9ee2
[core] Add response.status and response.header conditionals to config parser
2009-09-28 21:45:57 +02:00
Stefan Bühler
4b94e01ecc
Add response.header/status conditionals
2009-09-28 21:30:06 +02:00
Stefan Bühler
a687b03638
Add boolean conditionals to lua
2009-09-28 20:57:47 +02:00
Stefan Bühler
616904e00f
Fix filter reset, reactivate check for static file in mod_cache_disk_etag
2009-09-26 21:13:27 +02:00
Stefan Bühler
1acacd5737
Prefix inline api functions with li_
2009-09-26 20:31:52 +02:00
Stefan Bühler
c6bd0d66b7
Fix fd leak
2009-09-17 09:54:34 +02:00
Stefan Bühler
55734af993
Add request.remoteip and localip for config parser
2009-09-16 08:31:23 +02:00
Stefan Bühler
96e505bea7
Fix server.tag and version output
2009-09-16 00:19:06 +02:00
Stefan Bühler
08bb8f7c23
Some request handling bugs (keep-alive, content-length, pipelining)
2009-09-15 22:59:59 +02:00
Stefan Bühler
d6ff06347d
Handle OPTIONS in vrequest by default, check method in other modules
2009-09-15 21:30:25 +02:00
Stefan Bühler
00ed27c509
Log server errors into default logs
2009-09-15 20:40:38 +02:00
Stefan Bühler
4f9b5ccd3e
Remove plugin-core physical actions
2009-09-15 19:24:01 +02:00
Stefan Bühler
628b5734e1
Remove li_vrequest_stat and fix condition.c, part 2
2009-09-15 19:18:17 +02:00
Stefan Bühler
bf9e34bab7
Remove li_vrequest_stat and fix condition.c
2009-09-15 19:08:13 +02:00
Stefan Bühler
2304093289
Fix double slash after docroot
2009-09-15 15:31:00 +02:00
Thomas Porzelt
e762ac1208
[core] Remove redundant css from error pages
2009-09-15 12:45:56 +02:00
Thomas Porzelt
13543bdcf9
[core] Allow relative paths in include statements in the config parser
2009-09-15 12:42:11 +02:00
Stefan Bühler
1ffd7df84e
Fix response header parsing
2009-09-14 22:05:21 +02:00
Stefan Bühler
f31572bef1
Append slash to doc-root for physical path if it is missing
2009-09-14 21:45:52 +02:00
Stefan Bühler
1aeed6c222
Execute self defined actions
2009-09-14 21:06:55 +02:00
Stefan Bühler
59f4041ff3
Remove li_vrequest_stat() usage
2009-09-14 20:51:49 +02:00
Stefan Bühler
7f8d368f7f
Allow more whitespace in config
2009-09-14 20:37:54 +02:00
Stefan Bühler
39a879f89a
Add "include_lua" to config special commands if compiled with lua
2009-09-14 18:58:42 +02:00
Stefan Bühler
0320330685
Fix some casts for in_addr
2009-09-14 18:57:27 +02:00
Thomas Porzelt
1df869edc3
[waf] Add missing checks for localtime_r() and gmtime_r()
2009-09-13 22:29:13 +02:00
Thomas Porzelt
a94fee7b76
[waf] Add new *_lua.c files
2009-09-13 21:54:38 +02:00
Stefan Bühler
659ebfdd16
Add core lua support to handle requests
2009-09-13 17:54:16 +02:00
Stefan Bühler
897b27c692
Some core docs fixed
2009-09-13 17:46:02 +02:00
Stefan Bühler
77f2a832e7
Fix liRequestUri struct
2009-09-13 17:45:41 +02:00
Stefan Bühler
a8a761946c
Fix etag option, added comment so no one tries to clean it up again :)
2009-09-12 23:15:33 +02:00
Stefan Bühler
b696fcbe0d
Small plugin-core options cleanup
2009-09-09 21:15:12 +02:00
Stefan Bühler
959733cf82
Remove event_handler setup
2009-09-09 19:30:26 +02:00
Stefan Bühler
f030824550
Fix server address (do not use the listen address)
2009-09-09 18:12:05 +02:00
Thomas Porzelt
21cfd4ab71
[waf] Fix double linkage of *_lua.c in some commandline usage cases
2009-09-09 10:55:03 +02:00
Stefan Bühler
41d0490534
Use raw uri for orig-uri and REQUEST_URI/REDIRECT_URI in fastcgi
2009-09-09 00:56:59 +02:00
Stefan Bühler
374ebbeff7
Fix index action: require trailing slash in uri path, append index filename to uri
2009-09-09 00:40:12 +02:00
Stefan Bühler
b61013d9e0
Fix automake to build shared libraries
2009-09-09 00:12:34 +02:00
Stefan Bühler
9d58498951
No cleanup if config file loading fails (fixes segfault)
2009-09-08 22:52:49 +02:00
Stefan Bühler
2484a45c1f
Set con->is_ssl
2009-09-08 22:09:35 +02:00
Stefan Bühler
a663088a77
Add custom server socket callbacks (for ssl modules)
2009-09-08 19:09:39 +02:00
Stefan Bühler
c77ba3eb20
Cleanup connection code
2009-09-08 19:09:08 +02:00
Stefan Bühler
2a29965dc5
Accept LF in http responses instead of CRLF too
2009-09-06 17:19:06 +02:00
Thomas Porzelt
5e5f5564ee
[core] Fix for commit #572
2009-09-05 19:45:44 +02:00
Thomas Porzelt
0372f3a671
[core] Add status code 418 to li_http_method_string()
2009-09-05 19:35:39 +02:00
Thomas Porzelt
6016ec94fe
[core] Make error pages prettier and add a little error description
2009-09-05 19:32:54 +02:00
Thomas Porzelt
cd10b26497
[core] Don't print debug message about config parser when there's no problem
2009-09-05 12:09:43 +02:00
Thomas Porzelt
df225dc007
[core] Limit request uri to 8 kilobytes and whole request header to 64 kilobytes
2009-09-05 11:45:16 +02:00
Stefan Bühler
007e5e040c
Add listen mask checks to angel
2009-09-04 15:56:52 +02:00
Stefan Bühler
b32c74a180
vr->handle_response_body was replaced with vr->backend (and is used for something else now)
2009-08-31 18:09:19 +02:00
Thomas Porzelt
ebedf9c981
[waf] Fix building with lua
2009-08-31 12:13:32 +02:00
Stefan Bühler
56ff7ca32a
angel/lighty now synchronize the server state
2009-08-30 20:43:13 +02:00
Stefan Bühler
eeddb37e4a
Add plugin angel callbacks
2009-08-30 19:25:01 +02:00
Stefan Bühler
f221bac60e
Fix handling closing sockets (read buffer until EOF, error or timeout)
2009-08-26 23:23:26 +02:00
Thomas Porzelt
6184f88e08
[core] Fix connection bandwidth stats calculation
2009-08-19 17:27:19 +02:00
Thomas Porzelt
0ee98620b7
[core] Fix 'include' directive in config parser
2009-08-19 14:07:23 +02:00
Thomas Porzelt
5c699f571a
[waf] Fix includes so config.h gets found
2009-08-19 13:17:18 +02:00
Thomas Porzelt
8b7ea63cf9
[waf] Reenable waf and update to 1.5.8
2009-08-18 22:57:23 +02:00
Stefan Bühler
8a0665aa53
Set tm.tm_isdst = 0 before mktime()
2009-08-06 10:31:24 +02:00
Thomas Porzelt
8a13426774
[core] Stop stat cache waitqueue in sigint/worker stop
2009-08-04 10:08:08 +02:00
Stefan Bühler
e438240ed5
automake: fix make dist and module "lib" prefix
2009-08-02 12:02:36 +02:00
Stefan Bühler
df96167362
Add automake
2009-07-31 20:36:37 +02:00
Thomas Porzelt
549daa97e1
[core] Use DEBUG() makro instead of g_printerr() in config parser
2009-07-26 16:54:23 +02:00