Thomas Porzelt
859451afad
Fix typo and left-over call to stop a timer
2009-04-16 17:17:48 +02:00
Thomas Porzelt
383fa6a4f5
- introduce throttling via pools, rework throttling by connection
...
- new actions: 'throttle_pool', 'throttle_connection' and 'status'
- don't start waitqueue timer in waitqueue_init(); start/stop timer on demand
- new parameter for network_write(): write_max
- move stats and timeout handling from network_write/read() to connection_cb()
2009-04-16 17:02:53 +02:00
Stefan Bühler
595ce1fe13
Add wrk in vrequest, s/vr->con->wrk/vr->wrk/, removed some other (broken) usages of vr->con
2009-04-15 12:34:06 +02:00
Stefan Bühler
4e04ac6b8b
cmake: use builtin macros for build date
2009-04-15 11:39:21 +02:00
Stefan Bühler
7aaa764f49
Added vrequest_joblist_append_async (with a vrequest-reference handling)
2009-04-14 18:18:25 +02:00
Thomas Porzelt
f07f4d4971
[mod_vhost] Fix vhost.pattern again (build physical.path)
2009-04-07 03:55:31 +02:00
Thomas Porzelt
d1df9e2274
[mod_vhost] Fix vhost.pattern action
2009-04-07 03:15:47 +02:00
Thomas Porzelt
5ada6b02bd
fix possible stop of waitqueue timer through ev_timer_again() when t->repeat = 0; set minimum intervall to 0.01 seconds
2009-04-04 23:40:39 +02:00
Stefan Bühler
194db07279
Use GByteArray in mod_fastcgi
2009-04-03 14:36:41 +02:00
Stefan Bühler
611d7dcac3
Recode the sockaddr handling, fixing some bugs
2009-04-03 14:29:55 +02:00
Stefan Bühler
293fabc963
Replace some uses of GString with GByteArray
2009-04-02 23:46:41 +02:00
Stefan Bühler
6a56aba0c3
Use 2^n-1 in GSring pre-allocations (so glib doesn't alloc 2^(n+1) for 2^n)
2009-04-02 23:19:19 +02:00
Stefan Bühler
02c8be5afd
Use prepared string for the local/remote socket address in mod_fastcgi
2009-04-02 22:59:43 +02:00
Stefan Bühler
691939dbdc
Rename MEM_CHUNK to STRING_CHUNK and add new MEM_CHUNK with GByteArray as content
...
- GByteArray doesn't have a terminating zero, so we save memory; especially
if the real size is 2^n, GString would allocate 2^(n+1) bytes.
2009-04-02 22:35:56 +02:00
Stefan Bühler
aee63756a0
Fix bug in ipv6 to string conversion
2009-04-02 22:29:09 +02:00
Thomas Porzelt
f44f620eda
[modules] add mod_debug
2009-04-01 02:04:23 +02:00
Thomas Porzelt
ab9a616f5d
optimize ram usage by freeing unused connections
2009-03-28 03:37:41 +01:00
Thomas Porzelt
97db5dab4e
reduce amount of preallocated memory in vr->physical struct
2009-03-28 02:19:38 +01:00
Thomas Porzelt
542031e8a3
fix memory leak in response_send_headers()
2009-03-28 02:11:05 +01:00
Thomas Porzelt
9f8413c112
[mod_status] add more info to connection list
2009-03-26 23:39:23 +01:00
Thomas Porzelt
0756c1039f
fix previous fix
2009-03-26 23:33:28 +01:00
Thomas Porzelt
ac22b5470c
fix new fd leak in core_handle_static()
2009-03-26 23:16:41 +01:00
Thomas Porzelt
ddb0448a96
rework stat_cache
2009-03-26 23:05:17 +01:00
Stefan Bühler
1c9d95c37a
Fix some uninitialized vars bugs in etag.c
2009-03-22 14:45:23 +01:00
Thomas Porzelt
a17e3fa44c
fix segfault due to ignoring a possible pointer change through realloc in l_g_string_append_int() from utils.c
2009-03-19 17:59:30 +01:00
Thomas Porzelt
5a0462688c
fix new statcache leaks in static action
2009-03-18 15:30:13 +01:00
Thomas Porzelt
7dd842229f
fix fd leak in static action when 304 is returned
2009-03-18 04:12:51 +01:00
Thomas Porzelt
0e03d1a362
[mod_dirlist] fix new leaks
2009-03-17 20:28:26 +01:00
Thomas Porzelt
2a55d1f693
[waf] add etag.c
2009-03-17 18:30:36 +01:00
Stefan Bühler
384bab3719
Forgot source/header for etag.{c,h}
2009-03-17 18:22:59 +01:00
Stefan Bühler
2995cb5ffa
Fix previous commit and static forbidden handling
2009-03-17 14:49:27 +01:00
Stefan Bühler
be8e8bb3ea
Return 404 if no action handled request
...
- This should make it really easy to handle static files + backend if not found:
static; fastcgi "foo";
2009-03-17 14:27:31 +01:00
Stefan Bühler
36ed72910a
Remove debug messages
2009-03-17 14:26:10 +01:00
Stefan Bühler
a62cdebb91
Fix static file/dirlist handling and add etag support
2009-03-17 14:21:20 +01:00
Stefan Bühler
325ec6a5b6
Add content-length in mod-cache-disk-etag
2009-03-17 14:21:06 +01:00
Stefan Bühler
5484e45e82
Fix some stat_cache bugs
2009-03-17 11:45:44 +01:00
Stefan Bühler
b423170266
Rewrite l_g_string_from_int to l_g_string_append_int
2009-03-17 11:44:44 +01:00
Stefan Bühler
e020850dc8
Add vrequest_is_handled function
2009-03-17 11:42:50 +01:00
Stefan Bühler
6a92322143
Reduce printf usage in mod_dirlist
2009-03-16 22:27:04 +01:00
Stefan Bühler
041681dc8f
Put the for loop in the case statements for the different encodings.
2009-03-16 22:25:38 +01:00
Stefan Bühler
9df3918e9b
Add l_g_string_from_int to utils - prints a gint64 to a GString
2009-03-16 22:24:14 +01:00
Stefan Bühler
669ff2e079
Fix mod-status collect handling
2009-03-16 17:53:11 +01:00
Stefan Bühler
d7e53a44de
Changed collect api: removed fdata_free (wasn't used) and return NULL from collect_start if collect finished before returning.
2009-03-16 17:52:21 +01:00
Stefan Bühler
171ab51db5
Fix segfault in mod_cache_disk_etag if no etag is present
2009-03-16 17:51:52 +01:00
Thomas Porzelt
ad80873036
fix counter formatter again... basic algebra fail, *sigh*
2009-03-16 02:52:01 +01:00
Thomas Porzelt
634b77abf5
fix status code for failed stat() in core_handle_static()
2009-03-16 00:37:46 +01:00
Thomas Porzelt
030e3cebf2
fix counter format output again
2009-03-16 00:32:46 +01:00
Thomas Porzelt
3629e1aebf
[mod_status] add scoreboard
2009-03-14 01:58:24 +01:00
Thomas Porzelt
4dc8c81569
fix counter format output with COUNTER_TIME and value 0
2009-03-14 01:40:58 +01:00
Thomas Porzelt
a9c75934a8
change counter format output
2009-03-13 23:16:21 +01:00
Thomas Porzelt
963564be72
remove 'test' action
2009-03-13 22:43:23 +01:00
Thomas Porzelt
b93c0c3f85
fix updating of io timeout
2009-03-13 14:40:57 +01:00
Thomas Porzelt
f9ca699307
add waitqueue_length()
2009-03-13 01:54:26 +01:00
Stefan Bühler
bedcc3d46a
Added mod_cache_disk_etag: caches produced content on disk and checks for it via etag.
2009-03-12 21:08:27 +01:00
Stefan Bühler
12b421b9a9
Don't block fastcgi if limit on input queue is hit
2009-03-11 21:16:30 +01:00
Thomas Porzelt
d696e0e0f7
fix memory leak in stat cache
2009-03-11 17:34:40 +01:00
Stefan Bühler
158f42aa0f
Add support for filters
2009-03-11 16:57:07 +01:00
Stefan Bühler
764ce8335b
Disable keep-alive if server was stopped
2009-03-11 15:43:19 +01:00
Thomas Porzelt
4f44b332c7
fix memory leak in stat cache when connection was closed abruptly
2009-03-11 00:22:53 +01:00
Thomas Porzelt
3137f19ce5
[mod_dirlist] add hide-directories, exclude-prefix and exclude-suffix parameter
2009-03-08 16:47:27 +01:00
Thomas Porzelt
7d88ae2e73
[utils] add l_g_string_prefix() and l_g_string_suffix()
2009-03-08 16:45:50 +01:00
Thomas Porzelt
7bd421e79e
fix comment in mod_dirlist
2009-03-07 00:28:48 +01:00
Stefan Bühler
6e747478d4
Fix ISO C90 decl/code mixing
2009-03-07 00:08:49 +01:00
Stefan Bühler
7f344029eb
Fix stat-cache race condition
2009-03-07 00:08:07 +01:00
Stefan Bühler
a616f477a8
[cmake] add mod_dirlistc and encoding.c
2009-03-07 00:07:00 +01:00
Thomas Porzelt
f056e1ccd9
slighty more detailed debug output in plugin_core
2009-03-06 21:11:16 +01:00
Thomas Porzelt
0c01dd91d3
add debug parameter for dirlist action in mod_dirlist
2009-03-06 19:26:47 +01:00
Thomas Porzelt
4b8cbba24b
fix mem leak in log.write action
2009-03-06 19:19:36 +01:00
Thomas Porzelt
a874e682c7
fix mem leak in mod_dirlist
2009-03-06 18:55:00 +01:00
Thomas Porzelt
8afe9aff3d
fix mem leak in core_module_load()
2009-03-06 18:52:48 +01:00
Thomas Porzelt
a01815421c
fix mem leak in stat_cache_free()
2009-03-06 18:50:03 +01:00
Thomas Porzelt
30ff4619fa
forgot mod_dirlist.c
2009-03-06 18:18:13 +01:00
Thomas Porzelt
9561fa6cae
add mod_dirlist
2009-03-06 17:28:09 +01:00
Thomas Porzelt
0719779fd2
add ENCODING_URI to encoding functions
2009-03-06 17:25:46 +01:00
Thomas Porzelt
39581f9b2c
remove debug print form plugin_core
2009-03-06 17:22:52 +01:00
Thomas Porzelt
3fa72fd250
fix dirlisting in stat cache
2009-03-06 17:22:14 +01:00
Thomas Porzelt
a888c34dbb
add encoding functions
2009-03-05 00:19:55 +01:00
Thomas Porzelt
d5ec193b04
exclude . and .. entries from stat cache dirlisting
2009-03-04 19:46:30 +01:00
Thomas Porzelt
047bb1f0bd
small stat_cache fix
2009-03-04 03:44:45 +01:00
Thomas Porzelt
4d2cf580df
add stat_cach_get_dir() to get directory listing; add stat_cache.ttl setup
2009-03-04 02:54:38 +01:00
Thomas Porzelt
9a23f4465d
add dirent_buf_size() to utils
2009-03-04 02:48:55 +01:00
Thomas Porzelt
741332ccf6
fix underflow in usage of cqlimit_update()
2009-03-03 20:16:48 +01:00
Thomas Porzelt
5ca2b5e1d4
rename limit.* actions to buffer.*
2009-03-02 01:16:22 +01:00
Stefan Bühler
d8d8c8ea1b
Disable cqlimit debug, fixed some more bugs with cqlimit.
2009-03-02 01:02:21 +01:00
Stefan Bühler
98a36e970a
Change mod_fastcgi to not wait for complete packets (enables limits < 64kbyte); fix some limit handling.
2009-03-02 00:49:02 +01:00
Stefan Bühler
767ad93e83
[cmake] add stat_cache.c
2009-03-01 21:27:46 +01:00
Stefan Bühler
72b911767e
Fix rev 345: l_g_string_assign_len
2009-03-01 21:27:34 +01:00
Stefan Bühler
2f9e612c99
Use chunkqueue-limit (setup in plugin_core)
2009-03-01 21:23:24 +01:00
Stefan Bühler
6ebc331215
Implement l_g_string_assign_len()
2009-03-01 21:22:15 +01:00
Stefan Bühler
39ecfa89e5
Add chunkqueue-limit framework
2009-03-01 17:28:01 +01:00
Thomas Porzelt
efab0ca75d
implement stat cache
2009-03-01 21:16:58 +01:00
Stefan Bühler
78bb13b61c
Fix action_reset (backend_failed)
2009-03-01 17:16:58 +01:00
Stefan Bühler
b033f0c194
Extended sockaddr_to_string for use in connect-failed error message in mod_fastcgi
2009-03-01 17:15:52 +01:00
Stefan Bühler
050d0d60d6
Fix cast warning (char* -> unsigned char*) in mod_fastcgi
2009-03-01 15:54:19 +01:00
Stefan Bühler
c584da22db
Handle environment vars in mod_fastcgi
2009-02-15 18:59:30 +01:00
Stefan Bühler
95fee3059b
Add handling for environment vars in backends
2009-02-15 18:55:27 +01:00
Thomas Porzelt
1ebe6dc37d
fix small mistake in mod_vhost.c example config comment
2009-02-14 22:52:32 +01:00
Thomas Porzelt
cb4741c56d
fix little typo in mod_fastcgi.c comment
2009-02-12 23:03:52 +01:00
Thomas Porzelt
9b785c567a
add vhost.pattern (1.x evhost like functionality) to mod_vhost
2009-02-11 23:38:45 +01:00
Stefan Bühler
5c797977c6
Add stderr log support in mod_fastcgi (split lines from backend in log.c)
2009-02-03 15:25:14 +01:00
Thomas Porzelt
159a03f19b
fix typo in mod_vhost
2009-01-29 17:38:02 +01:00
Thomas Porzelt
79d9c63087
redirect requests for directories without trailing slash to uri with trailing slash
2009-01-29 17:36:30 +01:00
Thomas Porzelt
d24e602713
increase default io timeout from 30s to 300s
2009-01-29 15:19:41 +01:00
Stefan Bühler
0eef3d7ee8
Use nonblocking sockets
2009-01-29 15:14:55 +01:00
Stefan Bühler
d29565a211
Split chunkiter_read into simple read() and mmap() with fallback read(); _mmap() may result in SIGBUS (e.g. truncated file) later.
2009-01-28 15:40:57 +01:00
Thomas Porzelt
bc92b6fdcc
add vhost.map action to mod_vhost
2009-01-25 02:40:28 +01:00
Stefan Bühler
c7c1c5cb0e
[cmake] Add mod_vhost
2009-01-13 21:32:13 +01:00
Stefan Bühler
2708d6deaa
Fix handling request content and 100-continue
2009-01-13 21:31:02 +01:00
Stefan Bühler
a91d5e96b9
Allow more characters in url
2009-01-13 13:48:03 +01:00
Thomas Porzelt
13f749aa74
along comes mod_vhost
2009-01-12 01:20:06 +01:00
Thomas Porzelt
f0c66a793c
revert previous commit. it was stupid.
2009-01-12 01:02:39 +01:00
Thomas Porzelt
9186488bbf
fix docroot action (don't set physical.path)
2009-01-12 00:24:27 +01:00
Thomas Porzelt
1cb3075ed6
fix bogus action context cleanup in mod_status
2009-01-11 04:13:49 +01:00
Stefan Bühler
f983caccde
Fix reading of lua tables
2009-01-10 15:59:54 +01:00
Stefan Bühler
3477543277
Fix fastcgi packet reading
2009-01-10 15:50:04 +01:00
Stefan Bühler
428b4b524f
Fix unix socket path
2009-01-10 15:22:35 +01:00
Stefan Bühler
1e115c522d
Add unix sockets
2009-01-10 15:09:42 +01:00
Stefan Bühler
4a8ce0a63f
Redo boolean conditionals (physical.*) as real actions.
2009-01-10 14:46:11 +01:00
Stefan Bühler
587ee27cd0
Added response parser and used it in mod_fastcgi
2009-01-10 13:30:58 +01:00
Stefan Bühler
99f14078ec
Add reminder for chunked handling/content-length header.
2009-01-09 21:45:19 +01:00
Stefan Bühler
4a5aa5361e
Added/fixed chunked encoded transfer
2009-01-09 21:42:42 +01:00
Thomas Porzelt
70a495de6f
fix ev_tstamp vs. time_t problems in worker_current_timestamp()
2009-01-09 21:32:49 +01:00
Stefan Bühler
00869413ee
Fix sending endless "FCGI_STDIN" closed events
2009-01-09 21:21:18 +01:00
Stefan Bühler
31acd354a7
[cmake] Add mod_accesslog
2009-01-09 21:17:45 +01:00
Thomas Porzelt
7766bd8c34
save errno of stat() in request.physical struct to prevent repeated stat()s if failed
2009-01-08 00:26:30 +01:00
Thomas Porzelt
688c2b6204
add %t format specifier to mod_accesslog (no %{format}t support yet)
2009-01-07 23:37:15 +01:00
Thomas Porzelt
549f097ea1
fix worker_current_timestamp() caching
2009-01-07 23:36:17 +01:00
Thomas Porzelt
fe90de88be
implement %b (bytes response), %B (bytes response clf) and %X (connection status) in mod_accesslog
2009-01-07 21:50:07 +01:00
Thomas Porzelt
6f69d58fec
forgot g_array_set_size() after g_array_sized_new()... duh!
2009-01-07 21:26:55 +01:00
Thomas Porzelt
52bcd62d74
fix small leaks
2009-01-07 21:11:06 +01:00
Thomas Porzelt
93bd5e2a6a
add additional paramter format_ndx to worker_current_timestamp()
2009-01-07 20:59:51 +01:00
Thomas Porzelt
c6d422e5c1
add log.write function action to core plugin
2009-01-07 00:01:20 +01:00
Thomas Porzelt
eb794b1dbc
fix %v placeholder in mod_accesslog
2009-01-06 23:44:39 +01:00
Thomas Porzelt
4c49705c16
add missing http version to %r placeholder in mod_accesslog
2009-01-06 23:25:15 +01:00
Thomas Porzelt
2fb007bd3d
add http_version_string() to utils
2009-01-06 23:25:07 +01:00
Thomas Porzelt
3d058707b1
add mod_accesslog
2009-01-06 22:31:20 +01:00
Thomas Porzelt
d2cadb3b1e
add option server.name
2009-01-06 22:30:38 +01:00
Thomas Porzelt
85a3a4d091
added "if" to condition syntax (if req.path == "/foo" {})
...
added boolean conditions without operator or rvalue (if phys.is_dir {}, rvalue is always true)
added negated boolean conditions (if !phys.is_dir {}, rvalue is always false)
added physical.is_dir and .is_file conditionals
2009-01-06 01:33:20 +01:00
Thomas Porzelt
01068d7f1d
make docroot a function action instead of setting, add stat member to vr.physical and enable physical.size conditional
2009-01-05 22:24:54 +01:00
Thomas Porzelt
2489fbfbfe
fix small typo in config_parser.rl that prevented usaged of physical.* conditionals
2009-01-05 22:14:47 +01:00
Stefan Bühler
d9ddd4fd3d
Remove out-of-fd-handling.
2009-01-04 23:14:08 +01:00
Stefan Bühler
5feea39ae6
Remove '-Wmissing-prototypes' from extra warnings list
...
- we still have '-Wmissing-declarations', which allows
void func() instead of void func(void).
2009-01-04 22:38:24 +01:00
Stefan Bühler
54fd1b08e4
Cleanup some state machine handling
2009-01-04 21:59:56 +01:00
Thomas Porzelt
825b809b06
fix compile flags for modules in wscript
2009-01-02 22:07:52 +01:00
Thomas Porzelt
bf549bbe0d
add check for sizeof(off_t) to MODULE_VERSION_CHECK()
2009-01-02 22:04:36 +01:00
Thomas Porzelt
55dd7e3060
add environment.c, mod_fastcgi and --extra-warnings to wscript
2009-01-01 17:47:23 +01:00
Stefan Bühler
c458377d4a
Added mod_fastcgi, some api functions for it, and some new optional compiler warnings (which led to many small changes)
2009-01-01 16:44:42 +01:00
Stefan Bühler
c56ade056f
Add vrequest "environment" (a GString -> GString hashtable)
2008-12-31 16:23:00 +01:00
Stefan Bühler
d30e1b018a
Added some backend/balancer helper, fixed backend-error handling.
2008-12-31 14:36:24 +01:00
Thomas Porzelt
0d56b1b7b4
add mod_balancer to wscript
2008-12-31 03:25:54 +01:00