Stefan Bühler
12ef2e539f
Print lua backtraces
14 years ago
Stefan Bühler
1ce3b7fa24
Remove pcre dependencies (we use the glib wrappers)
14 years ago
Stefan Bühler
282a2d1b4a
Prefix LI_API functions with "li_"
14 years ago
Stefan Bühler
99b203e3d8
Prefix typenames, enums and some macros with "li" and "LI_"; CamelCase TypeNames
14 years ago
Stefan Bühler
f8be820c36
Big lighttpd-angel update; still not complete, but supports fork+exec+setuid/gid+listen (no checks in listen yet)
14 years ago
Stefan Bühler
fb8cfb4a88
Fix small error in parser
14 years ago
Stefan Bühler
4be8052cf6
Fix range check in src/idlist.c
14 years ago
Stefan Bühler
4128f3f128
Use GPtrArray in mod_fortune
14 years ago
Stefan Bühler
67e072e618
Fix endless loop in receive_fd
14 years ago
Stefan Bühler
d30108b967
Make radix implementation independent of lighty
14 years ago
Thomas Porzelt
c8f7ee1a3f
[mod_accesslog] Log hyphen instead of ""
14 years ago
Thomas Porzelt
c0858a017c
[mod_expire] Move multiplcation of factor from expire() to expire_create()
14 years ago
Thomas Porzelt
98276a9b6f
[mod_expire] Log errno in case gmtime_r() should fail
14 years ago
Thomas Porzelt
c49219699e
[modules] Remove unneeded inclusion of stdio.h
14 years ago
Thomas Porzelt
40b4993b2d
[mod_expire] Clean up code a bit; append max-age to Cache-Control instead of overwriting
14 years ago
Thomas Porzelt
8ae3462a68
[mod_expire] Fix wrong max-age with 'modification'
14 years ago
Thomas Porzelt
2cffeb7401
[modules] Add mod_expire
14 years ago
Thomas Porzelt
7aa2e0ef14
Remove test debug output from mod_dirlist
14 years ago
Thomas Porzelt
02a9e7ba26
Change string parsing in config parser
14 years ago
Thomas Porzelt
ab10a5ed8f
[config_parser] Change/fix escaping in strings
14 years ago
Thomas Porzelt
1c7bc237df
[plugin_core] Fix possibly wrong mimetype in static action
14 years ago
Thomas Porzelt
af1c756cce
[plugin_core] Fix index action
14 years ago
Thomas Porzelt
c80ea4a6d6
[plugin_core] Remove trailing whitespace
14 years ago
Thomas Porzelt
64b48a96f4
[plugin_core] Add 'index' action
14 years ago
Thomas Porzelt
1250d7b633
[utils] Make send/receive_fd() compile on OSX (code not tested)
14 years ago
Stefan Bühler
860b726724
Fix typo in idlist.c
14 years ago
Stefan Bühler
75505f73e1
Add more angel connection handling code (and helper functions)
14 years ago
Stefan Bühler
40fbc9c8b7
Fixed the splitting from previous commit and splitted the ip parsers from condition handling
14 years ago
Stefan Bühler
d64f5d4788
Split lighttpd specific functions from utils into lighttpd-glue.
14 years ago
Stefan Bühler
c2ce9c4f53
Fix encoding functions (use _append for the append version); do not encode characters >= 0x80 for html.
14 years ago
Thomas Porzelt
0347a26b37
[core] Fix tiny memleak with regex conditions and remove left-over HAVE_PCRE_H check
14 years ago
Thomas Porzelt
426ee0bff0
[modules] Add mod_rewrite
14 years ago
Thomas Porzelt
ff39991ed0
[core] Add support for regex conditionals
14 years ago
Stefan Bühler
d984853790
cmake: Use "MODULE" instead of "SHARED" for modules
14 years ago
Thomas Porzelt
b000f96170
[core] Fix setting of multiple workers
14 years ago
Thomas Porzelt
fd8f6ed60f
[core] Change cond_lvalue_form_string() and move it from utils.c to condition.c
14 years ago
Thomas Porzelt
c964f6bc52
[core] Remove makro usage from cond_lvalue_from_str() as it breaks with optimizations, add newline at end of file
14 years ago
Thomas Porzelt
3efaf40853
[core] Add cond_lvalue_from_str() to utils
14 years ago
Thomas Porzelt
0242db1397
[core] append encoded string to dest instead of overwriting it
14 years ago
Thomas Porzelt
34353ef22b
[angel] Fix warning about unused var in angel_plugin_init()
14 years ago
Thomas Porzelt
a2b40bb581
[mod_access] Fix casting warnings
14 years ago
Thomas Porzelt
1703b67409
[modules] Add mod_access
14 years ago
Thomas Porzelt
451cdd1579
[core] Add implementation of 32bit radix trees (radix.{h.c})
14 years ago
Stefan Bühler
7c27d1b342
Added "idlist": maange a list of used ids
14 years ago
Stefan Bühler
48bf0071e4
[angel] Add basic module/plugin support
...
* renamed some module functions
14 years ago
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
Thomas Porzelt
01068d7f1d
make docroot a function action instead of setting, add stat member to vr.physical and enable physical.size conditional
15 years ago
Thomas Porzelt
2489fbfbfe
fix small typo in config_parser.rl that prevented usaged of physical.* conditionals
15 years ago
Stefan Bühler
d9ddd4fd3d
Remove out-of-fd-handling.
15 years ago
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).
15 years ago
Stefan Bühler
54fd1b08e4
Cleanup some state machine handling
15 years ago