Stefan Bühler
6a9cea1404
[angel] require config file
14 years ago
Stefan Bühler
faeecfea1d
Remove -Winline as gcc interprets "can not inline" as "don't want inline".
14 years ago
Stefan Bühler
08e336467f
Fix typo in cast
14 years ago
Stefan Bühler
3a1af99500
Include <stdio.h> and <stdlib.h> in settings.h for everyone.
14 years ago
Stefan Bühler
dfb1db14d7
Use pointer-sign warning in cmake und fix many of them.
14 years ago
Stefan Bühler
0ec334c887
Killed sys-strings.h (replaced with glib functions)
14 years ago
Stefan Bühler
01b5ea8ff2
[angel] configparser: cleanup + some comments
14 years ago
Stefan Bühler
15dfbc9edb
[angel] config-parser: more detailed error messages, over-/underflow + duplicate key checks.
14 years ago
Stefan Bühler
72136b4d03
angel: some basic structs, code not ready yet (config parser "works")
14 years ago
Thomas Porzelt
d153b12ed2
Fix line counting for \r linebreaks in config parser
14 years ago
Thomas Porzelt
f446ec6b44
stop waitqueue timer if waitqueue_remove() results in an empty queue
14 years ago
Thomas Porzelt
c1f39538a4
Fix tiny leak in throttle_pool_free()
14 years ago
Thomas Porzelt
859451afad
Fix typo and left-over call to stop a timer
14 years ago
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()
14 years ago
Stefan Bühler
595ce1fe13
Add wrk in vrequest, s/vr->con->wrk/vr->wrk/, removed some other (broken) usages of vr->con
14 years ago
Stefan Bühler
4e04ac6b8b
cmake: use builtin macros for build date
14 years ago
Stefan Bühler
7aaa764f49
Added vrequest_joblist_append_async (with a vrequest-reference handling)
14 years ago
Thomas Porzelt
f07f4d4971
[mod_vhost] Fix vhost.pattern again (build physical.path)
14 years ago
Thomas Porzelt
d1df9e2274
[mod_vhost] Fix vhost.pattern action
14 years ago
Thomas Porzelt
5ada6b02bd
fix possible stop of waitqueue timer through ev_timer_again() when t->repeat = 0; set minimum intervall to 0.01 seconds
14 years ago
Stefan Bühler
194db07279
Use GByteArray in mod_fastcgi
14 years ago
Stefan Bühler
611d7dcac3
Recode the sockaddr handling, fixing some bugs
14 years ago
Stefan Bühler
293fabc963
Replace some uses of GString with GByteArray
14 years ago
Stefan Bühler
6a56aba0c3
Use 2^n-1 in GSring pre-allocations (so glib doesn't alloc 2^(n+1) for 2^n)
14 years ago
Stefan Bühler
02c8be5afd
Use prepared string for the local/remote socket address in mod_fastcgi
14 years ago
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.
14 years ago
Stefan Bühler
aee63756a0
Fix bug in ipv6 to string conversion
14 years ago
Thomas Porzelt
f44f620eda
[modules] add mod_debug
14 years ago
Thomas Porzelt
ab9a616f5d
optimize ram usage by freeing unused connections
14 years ago
Thomas Porzelt
97db5dab4e
reduce amount of preallocated memory in vr->physical struct
14 years ago
Thomas Porzelt
542031e8a3
fix memory leak in response_send_headers()
14 years ago
Thomas Porzelt
9f8413c112
[mod_status] add more info to connection list
14 years ago
Thomas Porzelt
0756c1039f
fix previous fix
14 years ago
Thomas Porzelt
ac22b5470c
fix new fd leak in core_handle_static()
14 years ago
Thomas Porzelt
ddb0448a96
rework stat_cache
14 years ago
Stefan Bühler
1c9d95c37a
Fix some uninitialized vars bugs in etag.c
14 years ago
Thomas Porzelt
a17e3fa44c
fix segfault due to ignoring a possible pointer change through realloc in l_g_string_append_int() from utils.c
14 years ago
Thomas Porzelt
5a0462688c
fix new statcache leaks in static action
14 years ago
Thomas Porzelt
7dd842229f
fix fd leak in static action when 304 is returned
14 years ago
Thomas Porzelt
0e03d1a362
[mod_dirlist] fix new leaks
14 years ago
Thomas Porzelt
2a55d1f693
[waf] add etag.c
14 years ago
Stefan Bühler
384bab3719
Forgot source/header for etag.{c,h}
14 years ago
Stefan Bühler
2995cb5ffa
Fix previous commit and static forbidden handling
14 years ago
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";
14 years ago
Stefan Bühler
36ed72910a
Remove debug messages
14 years ago
Stefan Bühler
a62cdebb91
Fix static file/dirlist handling and add etag support
14 years ago
Stefan Bühler
325ec6a5b6
Add content-length in mod-cache-disk-etag
14 years ago
Stefan Bühler
5484e45e82
Fix some stat_cache bugs
14 years ago
Stefan Bühler
b423170266
Rewrite l_g_string_from_int to l_g_string_append_int
14 years ago
Stefan Bühler
e020850dc8
Add vrequest_is_handled function
14 years ago
Stefan Bühler
6a92322143
Reduce printf usage in mod_dirlist
14 years ago
Stefan Bühler
041681dc8f
Put the for loop in the case statements for the different encodings.
14 years ago
Stefan Bühler
9df3918e9b
Add l_g_string_from_int to utils - prints a gint64 to a GString
14 years ago
Stefan Bühler
669ff2e079
Fix mod-status collect handling
14 years ago
Stefan Bühler
d7e53a44de
Changed collect api: removed fdata_free (wasn't used) and return NULL from collect_start if collect finished before returning.
14 years ago
Stefan Bühler
171ab51db5
Fix segfault in mod_cache_disk_etag if no etag is present
14 years ago
Thomas Porzelt
ad80873036
fix counter formatter again... basic algebra fail, *sigh*
14 years ago
Thomas Porzelt
634b77abf5
fix status code for failed stat() in core_handle_static()
14 years ago
Thomas Porzelt
030e3cebf2
fix counter format output again
14 years ago
Thomas Porzelt
3629e1aebf
[mod_status] add scoreboard
14 years ago
Thomas Porzelt
4dc8c81569
fix counter format output with COUNTER_TIME and value 0
14 years ago
Thomas Porzelt
a9c75934a8
change counter format output
14 years ago
Thomas Porzelt
963564be72
remove 'test' action
14 years ago
Thomas Porzelt
b93c0c3f85
fix updating of io timeout
14 years ago
Thomas Porzelt
f9ca699307
add waitqueue_length()
14 years ago
Stefan Bühler
bedcc3d46a
Added mod_cache_disk_etag: caches produced content on disk and checks for it via etag.
14 years ago
Stefan Bühler
12b421b9a9
Don't block fastcgi if limit on input queue is hit
14 years ago
Thomas Porzelt
d696e0e0f7
fix memory leak in stat cache
14 years ago
Stefan Bühler
158f42aa0f
Add support for filters
14 years ago
Stefan Bühler
764ce8335b
Disable keep-alive if server was stopped
14 years ago
Thomas Porzelt
4f44b332c7
fix memory leak in stat cache when connection was closed abruptly
14 years ago
Thomas Porzelt
3137f19ce5
[mod_dirlist] add hide-directories, exclude-prefix and exclude-suffix parameter
14 years ago
Thomas Porzelt
7d88ae2e73
[utils] add l_g_string_prefix() and l_g_string_suffix()
14 years ago
Thomas Porzelt
7bd421e79e
fix comment in mod_dirlist
14 years ago
Stefan Bühler
6e747478d4
Fix ISO C90 decl/code mixing
14 years ago
Stefan Bühler
7f344029eb
Fix stat-cache race condition
14 years ago
Stefan Bühler
a616f477a8
[cmake] add mod_dirlistc and encoding.c
14 years ago
Thomas Porzelt
f056e1ccd9
slighty more detailed debug output in plugin_core
14 years ago
Thomas Porzelt
0c01dd91d3
add debug parameter for dirlist action in mod_dirlist
14 years ago
Thomas Porzelt
4b8cbba24b
fix mem leak in log.write action
14 years ago
Thomas Porzelt
a874e682c7
fix mem leak in mod_dirlist
14 years ago
Thomas Porzelt
8afe9aff3d
fix mem leak in core_module_load()
14 years ago
Thomas Porzelt
a01815421c
fix mem leak in stat_cache_free()
14 years ago
Thomas Porzelt
30ff4619fa
forgot mod_dirlist.c
14 years ago
Thomas Porzelt
9561fa6cae
add mod_dirlist
14 years ago
Thomas Porzelt
0719779fd2
add ENCODING_URI to encoding functions
14 years ago
Thomas Porzelt
39581f9b2c
remove debug print form plugin_core
14 years ago
Thomas Porzelt
3fa72fd250
fix dirlisting in stat cache
14 years ago
Thomas Porzelt
a888c34dbb
add encoding functions
14 years ago
Thomas Porzelt
d5ec193b04
exclude . and .. entries from stat cache dirlisting
14 years ago
Thomas Porzelt
047bb1f0bd
small stat_cache fix
14 years ago
Thomas Porzelt
4d2cf580df
add stat_cach_get_dir() to get directory listing; add stat_cache.ttl setup
14 years ago
Thomas Porzelt
9a23f4465d
add dirent_buf_size() to utils
14 years ago
Thomas Porzelt
741332ccf6
fix underflow in usage of cqlimit_update()
14 years ago
Thomas Porzelt
5ca2b5e1d4
rename limit.* actions to buffer.*
14 years ago
Stefan Bühler
d8d8c8ea1b
Disable cqlimit debug, fixed some more bugs with cqlimit.
14 years ago
Stefan Bühler
98a36e970a
Change mod_fastcgi to not wait for complete packets (enables limits < 64kbyte); fix some limit handling.
14 years ago
Stefan Bühler
767ad93e83
[cmake] add stat_cache.c
14 years ago
Stefan Bühler
72b911767e
Fix rev 345: l_g_string_assign_len
14 years ago
Stefan Bühler
2f9e612c99
Use chunkqueue-limit (setup in plugin_core)
14 years ago
Stefan Bühler
6ebc331215
Implement l_g_string_assign_len()
14 years ago
Stefan Bühler
39ecfa89e5
Add chunkqueue-limit framework
14 years ago
Thomas Porzelt
efab0ca75d
implement stat cache
14 years ago
Stefan Bühler
78bb13b61c
Fix action_reset (backend_failed)
14 years ago
Stefan Bühler
b033f0c194
Extended sockaddr_to_string for use in connect-failed error message in mod_fastcgi
14 years ago
Stefan Bühler
050d0d60d6
Fix cast warning (char* -> unsigned char*) in mod_fastcgi
14 years ago
Stefan Bühler
c584da22db
Handle environment vars in mod_fastcgi
15 years ago
Stefan Bühler
95fee3059b
Add handling for environment vars in backends
15 years ago
Thomas Porzelt
1ebe6dc37d
fix small mistake in mod_vhost.c example config comment
15 years ago
Thomas Porzelt
cb4741c56d
fix little typo in mod_fastcgi.c comment
15 years ago
Thomas Porzelt
9b785c567a
add vhost.pattern (1.x evhost like functionality) to mod_vhost
15 years ago
Stefan Bühler
5c797977c6
Add stderr log support in mod_fastcgi (split lines from backend in log.c)
15 years ago
Thomas Porzelt
159a03f19b
fix typo in mod_vhost
15 years ago
Thomas Porzelt
79d9c63087
redirect requests for directories without trailing slash to uri with trailing slash
15 years ago
Thomas Porzelt
d24e602713
increase default io timeout from 30s to 300s
15 years ago
Stefan Bühler
0eef3d7ee8
Use nonblocking sockets
15 years ago
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.
15 years ago
Thomas Porzelt
bc92b6fdcc
add vhost.map action to mod_vhost
15 years ago
Stefan Bühler
c7c1c5cb0e
[cmake] Add mod_vhost
15 years ago
Stefan Bühler
2708d6deaa
Fix handling request content and 100-continue
15 years ago
Stefan Bühler
a91d5e96b9
Allow more characters in url
15 years ago
Thomas Porzelt
13f749aa74
along comes mod_vhost
15 years ago
Thomas Porzelt
f0c66a793c
revert previous commit. it was stupid.
15 years ago
Thomas Porzelt
9186488bbf
fix docroot action (don't set physical.path)
15 years ago
Thomas Porzelt
1cb3075ed6
fix bogus action context cleanup in mod_status
15 years ago
Stefan Bühler
f983caccde
Fix reading of lua tables
15 years ago
Stefan Bühler
3477543277
Fix fastcgi packet reading
15 years ago
Stefan Bühler
428b4b524f
Fix unix socket path
15 years ago
Stefan Bühler
1e115c522d
Add unix sockets
15 years ago
Stefan Bühler
4a8ce0a63f
Redo boolean conditionals (physical.*) as real actions.
15 years ago
Stefan Bühler
587ee27cd0
Added response parser and used it in mod_fastcgi
15 years ago
Stefan Bühler
99f14078ec
Add reminder for chunked handling/content-length header.
15 years ago
Stefan Bühler
4a5aa5361e
Added/fixed chunked encoded transfer
15 years ago
Thomas Porzelt
70a495de6f
fix ev_tstamp vs. time_t problems in worker_current_timestamp()
15 years ago
Stefan Bühler
00869413ee
Fix sending endless "FCGI_STDIN" closed events
15 years ago
Stefan Bühler
31acd354a7
[cmake] Add mod_accesslog
15 years ago
Thomas Porzelt
7766bd8c34
save errno of stat() in request.physical struct to prevent repeated stat()s if failed
15 years ago
Thomas Porzelt
688c2b6204
add %t format specifier to mod_accesslog (no %{format}t support yet)
15 years ago
Thomas Porzelt
549f097ea1
fix worker_current_timestamp() caching
15 years ago
Thomas Porzelt
fe90de88be
implement %b (bytes response), %B (bytes response clf) and %X (connection status) in mod_accesslog
15 years ago
Thomas Porzelt
6f69d58fec
forgot g_array_set_size() after g_array_sized_new()... duh!
15 years ago
Thomas Porzelt
52bcd62d74
fix small leaks
15 years ago
Thomas Porzelt
93bd5e2a6a
add additional paramter format_ndx to worker_current_timestamp()
15 years ago
Thomas Porzelt
c6d422e5c1
add log.write function action to core plugin
15 years ago
Thomas Porzelt
eb794b1dbc
fix %v placeholder in mod_accesslog
15 years ago
Thomas Porzelt
4c49705c16
add missing http version to %r placeholder in mod_accesslog
15 years ago
Thomas Porzelt
2fb007bd3d
add http_version_string() to utils
15 years ago
Thomas Porzelt
3d058707b1
add mod_accesslog
15 years ago
Thomas Porzelt
d2cadb3b1e
add option server.name
15 years ago
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
15 years ago