Stefan Bühler
931e8fea0c
Make radix tree generic (length independent), use it for mod_access ipv4/ipv6
2009-12-14 14:29:59 +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
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
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
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
c3ae0163c8
Use less pointers in chunks, "inline" structures
2009-11-08 11:12:12 +01:00
Thomas Porzelt
6bf284b754
[core] Record peak values of worker stats
2009-11-07 15:42:03 +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
09779e6a04
Forgot updated header in previous commit
2009-10-18 20:11:35 +02:00
Stefan Bühler
92904247d6
angel: support for restaring instance with SIGHUP
2009-10-17 23:50:41 +02:00
Stefan Bühler
a25d0f81d0
utils: added some hash/equal functions
2009-10-17 23:50:21 +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
0fe57dc215
mod_auth: add htdigest and htpasswd (no apr-md5) backend
2009-10-10 19:27:42 +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
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
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
4653900eca
Fix stat-cache ref counting
2009-10-05 19:41:48 +02:00
Stefan Bühler
e3393ce2f5
angel: add support for setting RLIMIT_CORE / RLIMIT_NOFILE
2009-10-04 14:26:18 +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
367404fdb1
Add "request.is_handled" condition
2009-10-03 16:47:57 +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
3949cb0939
Show fastcgi socket in backend log, don't show source file/line for backend logs
2009-10-03 15:26:03 +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
d2ba4ca0dd
Fix LI_COND_LVALUE_END value
2009-09-28 21:47:44 +02:00
Stefan Bühler
4b94e01ecc
Add response.header/status conditionals
2009-09-28 21:30:06 +02:00
Stefan Bühler
241d0e48de
mod_deflate: Add Vary header, reset content-length header
2009-09-28 20:56:28 +02:00
Stefan Bühler
1acacd5737
Prefix inline api functions with li_
2009-09-26 20:31:52 +02:00
Stefan Bühler
b9f92f704e
Fix server.tag and version output, part 2
2009-09-16 00:21:01 +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
f31572bef1
Append slash to doc-root for physical path if it is missing
2009-09-14 21:45:52 +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
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
f030824550
Fix server address (do not use the listen address)
2009-09-09 18:12:05 +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
007e5e040c
Add listen mask checks to angel
2009-09-04 15:56:52 +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
Thomas Porzelt
86ebb4c7f0
[core] Add li_querystring_find() function to utils
2009-08-13 18:38:30 +02:00
Thomas Porzelt
6cb5af487f
[core] Add li-prefix to structs, enums and function names for encoding helpers
2009-08-03 20:33:17 +02:00
Stefan Bühler
df96167362
Add automake
2009-07-31 20:36:37 +02:00
Stefan Bühler
b364b09790
Fix some error reporting in angel
2009-07-26 15:32:14 +02:00
Stefan Bühler
534a0f2d3a
New instance state machine
2009-07-26 15:01:08 +02:00
Stefan Bühler
594987c29e
Add li_ev_safe_ref_and_stop macro and use it
2009-07-26 15:00:53 +02:00
Stefan Bühler
30f804170c
Fix angel_log.h macros
2009-07-26 15:00:34 +02:00
Stefan Bühler
baa78b1ebb
Handle multi-lines for error-pipe logging
2009-07-25 21:39:13 +02:00
Stefan Bühler
e02d2efea1
Remove path in angel_proc logging
2009-07-25 18:13:16 +02:00
Stefan Bühler
766fcd4bfc
Add liProc and liErrorPipe for angel
2009-07-25 17:37:45 +02:00
Thomas Porzelt
e838c9b3cf
[core] Add liTimeFunc (gmtime_r, localtime_r) parameter to li_worker_current_timestamp()
2009-07-17 13:04:01 +02:00
Stefan Bühler
75237dda62
Add GError log writing
2009-07-17 12:19:57 +02:00
Stefan Bühler
ab1387d4ba
Move and add some common log helpers to utils
2009-07-17 12:19:25 +02:00
Stefan Bühler
b187c4f3c5
Fix missing newlines at end of files
2009-07-16 22:17:14 +02:00
Stefan Bühler
a061745193
Fix bugs found with the static clang analyzer ( http://clang-analyzer.llvm.org/ )
2009-07-16 22:13:40 +02:00
Stefan Bühler
f4f2bd1f38
Poison non-thread-safe functions and fix errors
2009-07-16 22:10:41 +02:00
Stefan Bühler
1ce3b7fa24
Remove pcre dependencies (we use the glib wrappers)
2009-07-12 12:29:14 +02:00
Stefan Bühler
282a2d1b4a
Prefix LI_API functions with "li_"
2009-07-09 22:17:24 +02:00
Stefan Bühler
99b203e3d8
Prefix typenames, enums and some macros with "li" and "LI_"; CamelCase TypeNames
2009-07-08 21:06:07 +02:00
Stefan Bühler
f8be820c36
Big lighttpd-angel update; still not complete, but supports fork+exec+setuid/gid+listen (no checks in listen yet)
2009-07-07 22:40:44 +02:00
Stefan Bühler
d30108b967
Make radix implementation independent of lighty
2009-07-07 18:45:47 +02:00
Stefan Bühler
75505f73e1
Add more angel connection handling code (and helper functions)
2009-06-23 23:40:13 +02:00
Stefan Bühler
40fbc9c8b7
Fixed the splitting from previous commit and splitted the ip parsers from condition handling
2009-06-17 10:59:34 +02:00
Stefan Bühler
d64f5d4788
Split lighttpd specific functions from utils into lighttpd-glue.
2009-06-16 23:16:07 +02:00
Stefan Bühler
c2ce9c4f53
Fix encoding functions (use _append for the append version); do not encode characters >= 0x80 for html.
2009-06-08 12:43:33 +02:00
Thomas Porzelt
ff39991ed0
[core] Add support for regex conditionals
2009-06-05 19:07:48 +02:00
Thomas Porzelt
fd8f6ed60f
[core] Change cond_lvalue_form_string() and move it from utils.c to condition.c
2009-06-01 17:58:48 +02:00
Thomas Porzelt
3efaf40853
[core] Add cond_lvalue_from_str() to utils
2009-06-01 16:15:38 +02:00
Thomas Porzelt
16097f84ea
[core] Fix erronous invisible char in settings.h
2009-05-31 13:57:17 +02:00
Thomas Porzelt
451cdd1579
[core] Add implementation of 32bit radix trees (radix.{h.c})
2009-05-29 15:03:19 +02:00
Thomas Porzelt
0e001f21e5
Fix two small typos in idlist.h comments
2009-05-13 12:56:46 +02:00
Stefan Bühler
7c27d1b342
Added "idlist": maange a list of used ids
2009-05-13 12:33:11 +02:00
Stefan Bühler
48bf0071e4
[angel] Add basic module/plugin support
...
* renamed some module functions
2009-04-24 10:03:04 +02:00
Thomas Porzelt
087f06a07d
Fix singness warnings
2009-04-17 22:39:16 +02:00
Stefan Bühler
c8d26383c3
Fix shadow warnings
2009-04-17 22:24:29 +02:00
Stefan Bühler
3a1af99500
Include <stdio.h> and <stdlib.h> in settings.h for everyone.
2009-04-17 22:14:20 +02:00
Stefan Bühler
dfb1db14d7
Use pointer-sign warning in cmake und fix many of them.
2009-04-17 21:53:17 +02:00
Stefan Bühler
0ec334c887
Killed sys-strings.h (replaced with glib functions)
2009-04-17 21:51:39 +02:00
Stefan Bühler
72136b4d03
angel: some basic structs, code not ready yet (config parser "works")
2009-04-17 18:16:50 +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
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
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
Thomas Porzelt
ab9a616f5d
optimize ram usage by freeing unused connections
2009-03-28 03:37:41 +01:00
Thomas Porzelt
ddb0448a96
rework stat_cache
2009-03-26 23:05:17 +01:00
Stefan Bühler
a0d963ef11
Fix printf checks with glib macro
2009-03-22 14:44:50 +01:00
Stefan Bühler
384bab3719
Forgot source/header for etag.{c,h}
2009-03-17 18:22:59 +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
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
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
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
Thomas Porzelt
a9c75934a8
change counter format output
2009-03-13 23:16:21 +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
87cd65e98f
Don't check for NULL strings in CONST_STR_LEN
2009-03-12 17:40:09 +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
Stefan Bühler
158f42aa0f
Add support for filters
2009-03-11 16:57:07 +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
0719779fd2
add ENCODING_URI to encoding functions
2009-03-06 17:25:46 +01:00
Thomas Porzelt
a888c34dbb
add encoding functions
2009-03-05 00:19:55 +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
004dfc1bf6
add spaces in waitqueue.h for readability
2009-03-04 02:51:21 +01:00
Thomas Porzelt
9a23f4465d
add dirent_buf_size() to utils
2009-03-04 02:48:55 +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
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
95fee3059b
Add handling for environment vars in backends
2009-02-15 18:55:27 +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
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
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
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
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
93bd5e2a6a
add additional paramter format_ndx to worker_current_timestamp()
2009-01-07 20:59:51 +01:00
Thomas Porzelt
2fb007bd3d
add http_version_string() to utils
2009-01-06 23:25:07 +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
Stefan Bühler
d9ddd4fd3d
Remove out-of-fd-handling.
2009-01-04 23:14:08 +01:00
Stefan Bühler
54fd1b08e4
Cleanup some state machine handling
2009-01-04 21:59:56 +01:00
Thomas Porzelt
bf549bbe0d
add check for sizeof(off_t) to MODULE_VERSION_CHECK()
2009-01-02 22:04:36 +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
Stefan Bühler
6636919623
Completed core balancer support, added a simple test balancer.
2008-12-31 02:57:27 +01:00
Thomas Porzelt
66f7e669dd
add log level "backend"
2008-12-31 02:50:32 +01:00
Stefan Bühler
025f0b5f84
Removed HANDLER_FINISHED, implemented real job queue and added some basic balancer structs
2008-12-30 21:55:00 +01:00
Stefan Bühler
20c3d8c109
Remove unused struct members
2008-12-30 20:53:58 +01:00
Stefan Bühler
20dfff0663
Cleanup log macros (moved from con to vrequest)
2008-12-30 14:24:33 +01:00
Stefan Bühler
c24704dad5
Move options from connection to vrequest
2008-12-30 01:21:03 +01:00
Thomas Porzelt
e344591265
unify level info placement in log makros
2008-12-29 18:46:51 +01:00
Thomas Porzelt
52d5978d64
export module_lookup()
2008-12-26 23:53:52 +01:00