Stefan Bühler
b6325775dc
[backends] fix connection insertion
10 years ago
Stefan Bühler
ba46b595ae
[mod_fastcgi] fix broken asserts
10 years ago
Stefan Bühler
5c2cc7143d
fix filters (deflate, memcached, cache_disk_etag)
10 years ago
Stefan Bühler
f33a7fd3fa
[lua] check values for NULL before pushing to stack
10 years ago
Stefan Bühler
3aa78c1002
wait for request body in dynamic backends, cache them on disk
10 years ago
Stefan Bühler
c40b1da839
[subrequests lua] fix compile warnings. still not working, needs to be ported to stream api.
10 years ago
Stefan Bühler
f1f1aacdfe
fix glib deprecation warnings
10 years ago
Stefan Bühler
a937bd437a
fix missing li prefixes
10 years ago
Stefan Bühler
72ec9a432f
[throttle] rewrite
10 years ago
Stefan Bühler
e0d9c0d602
[core] register server prepare callbacks
10 years ago
Stefan Bühler
cfd8955008
[common] implement libev wrapper
...
* need a way to mark a watcher as "don't keep the loop alive"
10 years ago
Stefan Bühler
ff69160c34
[core] Use streams
10 years ago
Stefan Bühler
b41cc2898a
generic backends
10 years ago
Stefan Bühler
c450fa82a5
[core] implement streams on chunkqueues
10 years ago
Stefan Bühler
ebd5a4ecb3
Fix comment style (//) and add gnutls to automake distcheck
10 years ago
Stefan Bühler
6a33c93231
Revert "[core] implement streams on chunkqueues"
...
- accidental push, patch not finished yet
This reverts commit 74ce55c860
.
10 years ago
Stefan Bühler
74ce55c860
[core] implement streams on chunkqueues
10 years ago
Stefan Bühler
20a63070e2
[chunks] extract to plain memory
10 years ago
Stefan Bühler
092a1b0141
fix bugs found with clang-3.3 -fsanitize=address,undefined
10 years ago
Stefan Bühler
186309f529
[lua] add missing file
10 years ago
Stefan Bühler
0d85a068c8
[lua] add per lua_State lock
10 years ago
Stefan Bühler
c1851a6cea
[lua] force garbage collection
10 years ago
Stefan Bühler
f2ade38923
Release mainaction before stopping workers
10 years ago
Stefan Bühler
ff7b73c8a9
[collect] Allow to start collect without worker context
10 years ago
Stefan Bühler
9cb0790052
[core_lua] Forward worker pointer to log functions in some lua functions
...
This fixes 2 things:
* won't need global server lock for logging in worker context
* order of log entries; worker context log gets committed to
global list in the event loop
10 years ago
Stefan Bühler
01abf704a3
[lua] Use recursive lock for global lua lock
11 years ago
Stefan Bühler
2634c77aae
Fix use of deprecated g_strcasecmp
11 years ago
Stefan Bühler
b310884f4d
[log] Remove (broken) locking for g_printerr in li_log_write_stderr - fputs, the default backend, is thread safe
11 years ago
Stefan Bühler
d705276183
[plugin_core] Fix closing data stream for invalid ranges in static handling
11 years ago
Stefan Bühler
5d48ae7102
[log] Add changable log contexts (i.e. references to the real one), so a pointer to such context can be used over a longer period of time
11 years ago
Stefan Bühler
a0227182d6
Fix small memleak with server sockets
11 years ago
Stefan Bühler
97bc95a107
[configparser] allow normal actions and setups with the same name
11 years ago
Stefan Bühler
b1c45e6a8f
[chunk/network] use glib error system to report errors (instead of using virtualrequest context)
11 years ago
Stefan Bühler
77f786ed18
[log] remove different timestamp format handling (one is enough), separate log context (liLogMap) from virtualrequest
11 years ago
Stefan Bühler
d173c7d305
[response] fix totally broken response headers if connection header is sent
12 years ago
Stefan Bühler
4c04989bd1
fix compile bugs in previous commits
12 years ago
Stefan Bühler
6ca28bab2b
[response handling] fix missing connection header
12 years ago
Stefan Bühler
011aaccabd
[http response/request parser] parse method with extra function, fix quoted text, restrict quoted pair
12 years ago
Stefan Bühler
89a32e1504
[chunkqueue] skip setting limit if it is the current one
12 years ago
Stefan Bühler
eaf460e3d0
[plugin_core] fix docroot pattern error handling ( fixes #2362 )
12 years ago
Stefan Bühler
9e215e397f
[value] add some functions to handle liValue
12 years ago
Thomas Porzelt
3f12becf59
[plugin_core] add 'map' action, which maps the result of a pattern to a user defined action
12 years ago
Thomas Porzelt
a66b6ce8d5
[config parser] rename 'o' liValue variables to 'v'. the name was a relict from option variables
12 years ago
Thomas Porzelt
9f17fd620d
[config parser] add 'none' and 'default' keywords
12 years ago
Stefan Bühler
a7741a2f22
[core] Ignore connection headers from backends
12 years ago
Thomas Porzelt
fc3d0e51e9
[core] fix invalid html in auto-generated responses
12 years ago
Stefan Bühler
3277edabe6
connection.c: optimize buffer usage - don't keep too many unused buffers around
12 years ago
Stefan Bühler
bd5c2f4ebe
move profiler code to common lib
12 years ago
Thomas Porzelt
bd15bb8f82
[core] fix for previous commit. gc requency was set to 10s not 5min
12 years ago
Thomas Porzelt
ab313d20c2
[core] change connection garbage collector algorithm to free all unused connections up to the maximum of active connections during the last 5 minutes
12 years ago
Thomas Porzelt
011380dcb7
[core] change memory profiler output, add minsize parameter to debug.profiler_dump action
12 years ago
Thomas Porzelt
cdf183137f
[plugin_core] rename 'blank' action to 'respond' and allow optional integer, string or list of integer+string parameters which support patterns
12 years ago
Thomas Porzelt
cc1c9a92e2
[config parser] don't allow setup blocks or includes in setup blocks
12 years ago
Thomas Porzelt
2ebf367df5
[config parser] fix detection of conflicts between options and uservars
12 years ago
Thomas Porzelt
04c8356b44
[config parser] change syntax again: user defined variables are now defined as 'x = ...;'. user defined actions are not special anymore
12 years ago
Stefan Bühler
abd58794d8
[config parser]: fix crash with nested conditional blocks, fix some warnings
12 years ago
Stefan Bühler
d579b8a163
[core]: accept LF instead of CR LF in http requests
12 years ago
Thomas Porzelt
9f832c75ea
Config syntax changes and parser fixes:
...
* Change ":" to "=>" in hash tables
* Change assignments to not need "=" anymore
* User defined actions must now be prefixed with the "action" keyword
* Anonymous user defined actions don't need the "$" prefix anymore
* Fix parsing of conditionals with more than 2 conditions
12 years ago
Thomas Porzelt
496a28f197
[core] truncate temp string before evaluating pattern. add comment to pattern.h that li_eval_pattern() does not truncate the string for you
12 years ago
Stefan Bühler
0fcbfb7ab7
[core] optimize syscalls per connection
12 years ago
Stefan Bühler
45f0cf0bf3
Increase timeout for angel-listen
12 years ago
Stefan Bühler
6164ac83c9
[*cgi env]: Fix REQUEST_URI
12 years ago
Stefan Bühler
d9cc24b8e6
[core]: fix connection/vrequest callbacks to return FALSE after they got reset, so handling stops
13 years ago
Stefan Bühler
bf0ece96fb
[throttle] Fix segfaults
13 years ago
Stefan Bühler
9c6f894eb5
[mime-types] Fix mimetype insert, add new test cases to catch this
13 years ago
Thomas Porzelt
912976fe30
[core] Attempt to fix issue with stalling connections in throttle pools
13 years ago
Stefan Bühler
7a67ba94d7
[autotools]: make sure pkg-config m4 is available in autoconf, check for ragel in ./configure
13 years ago
Thomas Porzelt
c1fe5047be
[plugin_core] Fix cascading in docroot action
13 years ago
Thomas Porzelt
772e66b91c
[core] Immediately rearm throttle pool and update con when inserting into pool
13 years ago
Stefan Bühler
0ab5aee623
[throttle] Fix loop counter (leaded to segfaults)
13 years ago
Stefan Bühler
26d9155e87
[pattern] fix endless (memory eating) loop in pattern parsing
13 years ago
Stefan Bühler
11fa781f98
Fix some warnings found with clang analyzer
13 years ago
Stefan Bühler
2941105e28
[pattern] Fix vr->wrk->tmp_str usage, remove pattern.h from base.h, add pattern support to header.add* actions
13 years ago
Stefan Bühler
db6a989677
Fix some warnings
13 years ago
Stefan Bühler
f521719737
Fix some link problems with -lcrypt
13 years ago
Stefan Bühler
ab9421a5e1
[core] Provide safe wrapper for crypt if crypt_r is not available
13 years ago
Stefan Bühler
67fcc00125
[pattern] Fix regex nth callback, activate env-set pattern range tests
13 years ago
Stefan Bühler
97d6300c62
[plugin_core] Support %n in all pattern evals
13 years ago
Stefan Bühler
01f0c1606f
[core] Fix pattern range parser, fix docroot_nth callback
13 years ago
Stefan Bühler
177fc95219
[core] Add phys.docroot and phys.pathinfo
13 years ago
Stefan Bühler
52584c99bb
[pattern] Add ranges (and fix match-info handling)
13 years ago
Stefan Bühler
eecf0d90be
[pattern] Fix handling of escaped characters
13 years ago
Stefan Bühler
688a17372f
[tests] Add BadRequest test (and fix the bug), add "status" vhost
13 years ago
Stefan Bühler
d6820e5cfd
[pattern] Hide pattern-part struct
13 years ago
Thomas Porzelt
ce4f9391e3
[core] Fix tiny leak in pattern code when parse errors happen
13 years ago
Thomas Porzelt
efb04f1f13
[config parser] include: Log warning if no file matches wildcard, error if no wildcard and file not found
13 years ago
Stefan Bühler
c35cf21c52
[log] Add basic api to open log files via angel
13 years ago
Stefan Bühler
97088f667e
Fix typos / missing includes
13 years ago
Stefan Bühler
de43e75b75
[core] Disable mmap as we don't handle SIGBUS yet
13 years ago
Thomas Porzelt
31d2291a1c
[core] Add support for throttling by IP
13 years ago
Stefan Bühler
8ae6902602
[core] remove lighttpd-glue.h from base.h
13 years ago
Stefan Bühler
3b1a781381
[core] remove encoding.h from base.h includes
13 years ago
Stefan Bühler
7fbcfb86d9
[mod_openssl]: better io event handling (ssl may want to write while lighty only wants to read)
13 years ago
Stefan Bühler
0247ee879f
[angel/core]: remove old unix socket before binding
13 years ago
Stefan Bühler
876261c62c
[core/angel]: Use strict ip matching (family must match, no IPv4-mapped IPv6)
13 years ago
Stefan Bühler
14660bee4f
[core/angel]: support unix socket listen
13 years ago
Stefan Bühler
823b9d13c2
[core]: wait for connections before shutdown
13 years ago
Thomas Porzelt
47bc318a35
[core] Make li_server_ts_format_add() threadsafe
13 years ago
Thomas Porzelt
14d48527af
[core] Make log.timestamp creation/destruction threadsafe
13 years ago
Thomas Porzelt
d0ae21c7b2
[config parser] Rename var.PID/var.CWD/env.* to sys.pid/sys.cwd/sys.env.* and add sys.version containing the lighty version
13 years ago
Thomas Porzelt
587c7383ba
[core] Add support for req.env/header[key] to patterns
13 years ago
Thomas Porzelt
f088e43f62
[plugin_core] Add env.set/add/remove/clear actions
13 years ago
Thomas Porzelt
a3b7ce74af
[core] Rework throttle-pool handling to be thread-safe in creation/destruction aswell as more accurate and fair throttling
13 years ago
Stefan Bühler
abdd422aa9
plugin.c: fix optionptr mem-leak
13 years ago
Stefan Bühler
b29c8161f1
Fix mimetypes
13 years ago
Stefan Bühler
be65208143
waitqueue: modify callback
13 years ago
Thomas Porzelt
c7a39e4da1
[core] Fix compilation on non-linux systems
13 years ago
Thomas Porzelt
0eaed50c1c
[core] Use uintptr_t instead of guintptr as it requires an otherwise unneeded recent glib version
13 years ago
Stefan Bühler
9ba3395241
Fix C++ style comments
13 years ago
Stefan Bühler
91fda70bca
[plugin_core] Fix mixed declarations and code
13 years ago
Stefan Bühler
7d938e48e3
[log] Fix prepare handler
13 years ago
Stefan Bühler
79d98f5991
[core] Use liJobQueue for vrequest job queue
13 years ago
Thomas Porzelt
582dfa99d7
[core] Rework mimetype lookup code
13 years ago
Thomas Porzelt
9c63e60cb7
[core] Add workers.cpu_affinity setup action
13 years ago
Stefan Bühler
b9af60f92d
[plugin_core]: don't stat last entry in docroot list, it is used anyway
13 years ago
Stefan Bühler
d133b8ad8c
[lua]: add subrequst_lua.c
13 years ago
Stefan Bühler
77ad119f66
[lua]: add subrequests
13 years ago
Stefan Bühler
1c3d3c287f
[core]: add tasklet pools to workers and use them for stat-cache
13 years ago
Stefan Bühler
6f454d0008
[plugin_core]: add "static_no_fail" action, which doesn't return 403/404 so other actions can handler the request
13 years ago
Stefan Bühler
c3164aba8b
Move binary names: angel becomes lighttpd2, worker lighttpd2-worker
13 years ago
Stefan Bühler
b8a0921265
Add some missing LI_/li prefixes for types and enum values
13 years ago
Stefan Bühler
b87e74d151
Optimize IO handling to safe syscalls; run vrequest state machines twice before looking for new io events
13 years ago
Stefan Bühler
b876f8401d
[core]: rework connection/vrequest structs; add liConInfo
13 years ago
Stefan Bühler
cae0c15710
Optimize some string handling in chunk parser
13 years ago
Stefan Bühler
254ba2a1f6
Optimize header insertion
13 years ago
Stefan Bühler
cc0044c4ee
Fix http method parser, add inlined g_string_append_len
13 years ago
Stefan Bühler
a2ed50dedd
Optimize some socket initialization handling
13 years ago
Stefan Bühler
7bb671de4c
[config parser] fix operators
13 years ago
Stefan Bühler
b7e6ba4eb5
condition.c: set match_type in all cases
13 years ago
Stefan Bühler
8b17198eb6
Try to fix some bugs in the config parser
13 years ago
Thomas Porzelt
2885c88ae7
[core] Config parser: one more fix for condition parsing
13 years ago
Thomas Porzelt
5b9cc67ad5
[core] Config parser: fix a whitespace handling bug
13 years ago
Thomas Porzelt
7648ef0f40
[core] Config parser: Fix parsing rules for multiple else-if conditions
13 years ago
Thomas Porzelt
45d9fda41e
[core] Config parser: fix condition with key handling
13 years ago
Stefan Bühler
18fd43840c
[mod_balancer] fix typo, and fix balancer handling in action-stack
13 years ago
Stefan Bühler
dd0bee3fd6
action_stack: fix balanacer management
13 years ago
Thomas Porzelt
ab94d8390d
[core] Change *bit integer suffixes in config parser
13 years ago
Thomas Porzelt
5f655d3b6e
[core] Fix 'else if' handling in config parser
13 years ago
Thomas Porzelt
65a3d5dfa9
[core] Add support for 'and' and 'or' in conditions to the config parser
13 years ago
Thomas Porzelt
e2a551298e
[core] Use liCond* helpers in li_pattern_parse/eval
13 years ago
Thomas Porzelt
c8663ffda9
[core] Allow disabling of stat cache through stat_cache.ttl 0;
13 years ago
Stefan Bühler
c23509424d
pattern: check for NULL in li_pattern_free
13 years ago
Thomas Porzelt
a4b0f4a9c0
[core] Fix segfault in li_vrequest_reset() when default value is NULL
13 years ago
Thomas Porzelt
43def72d5b
[core] Fix tiny leak in docroot action
13 years ago
Thomas Porzelt
a5f6e08abd
[core] Fix for last commit: undefined flag with older libev headers so have to use makros
13 years ago
Thomas Porzelt
396f740e77
[core] Use EVFLAG_NOSIGFD to disable signalfd usage if libev 3.8 is used, it breaks signal handling
13 years ago
Thomas Porzelt
e2faced3dd
[core] Fix worker timestamp cache initialization resulting in segfault when a module adds a new formatter (e.g. mod_accesslog)
13 years ago
Thomas Porzelt
0b860b2a0c
[core] Ensure a connection is put into io timeout queue after keepalive]
13 years ago
Thomas Porzelt
5531e36cf4
[core] Ensure that a connection is always in the io timeout queue (if not in keep-alive)
13 years ago
Thomas Porzelt
bba88e3326
[core] Fix detection of too big request http header
13 years ago