Stefan Bühler
0d40b25d19
[config] fix missing reference (segfault on shutdown)
10 years ago
Stefan Bühler
7d22354772
[config] fix cast(string)
10 years ago
Stefan Bühler
56e606bbd7
[config] setup only allowed in master config context
10 years ago
Stefan Bühler
5222d524ad
[plugin_core] fix some setup parameter handling
10 years ago
Stefan Bühler
e55f423203
[config] fix more bugs in new config handling
10 years ago
Stefan Bühler
04c6aa93cf
[plugin_core] fix alias action
10 years ago
Stefan Bühler
e4c99e55d6
[config] fix bug in config parser (failed parsing names followed by a comma)
10 years ago
Stefan Bühler
4056bd1a43
[config] fix mem leaks in config parser
10 years ago
Stefan Bühler
875995dae5
[config] fix bugs in new config handling
10 years ago
Stefan Bühler
8037af605f
replace g_hash_table_contains with g_hash_table_lookup
10 years ago
Stefan Bühler
eb19c66524
[lua] fix key-value list handling and export of lists
10 years ago
Stefan Bühler
e76ebe2021
[core] rewrite config parser
...
* no more hash values - only lists and list of key-value pairs
* "master" config:
the config loaded on startup can use all features,
configs loaded later (vhost on demand from sql...) can't use
include* and cannot modify global vars.
* scoped variables
- add a global var store in the server struct
- global vars can be set with "global foo = bar"
- if a variable already exists in a scope it will be modified on a
write, otherwise a new local variable is created
- global vars won't be modified if not in "master" mode
- vars can be made explicitly local with "local foo = bar"; create a
local copy with "local foo = foo"
- globals vars are available in live config loads for reading
- each file and action block {...} creates a new scope; if/else branches do
NOT create a new scope
* to append a value to a list use "l + [v]" (not "l + v" anymore);
lists are concatenated with "+"
* [...] always marks a list
* (...) is a list if it contains a "," or "=>", otherwise it justs
groups an expression
* a list can either contain key-value pairs or other values. mixing is
not allowed
10 years ago
Stefan Bühler
a1fbaab86b
[core/modules] refactor config handling
...
* should be more robust now: taking list of wanted value, handling NULL
pointers instead of value type NONE, fixed some bugs (wrong checks,
mem leaks, ...)
* add many methods to make handling of values easier; most methods
can handle NULL value pointers safely (li_value_type(v) instead of
v->type and so on)
10 years ago
Stefan Bühler
061b2a4262
[core] handle differences between options/actions/setups in plugin.c
10 years ago
Stefan Bühler
898e0c4687
[log] fix small mem leak
10 years ago
Stefan Bühler
ad687636e9
[lua] push list values with __index metamethod to lookup string/nil keys in key-value lists
10 years ago
Stefan Bühler
9f9fe72d97
[lua] fix usage of lua_typename
10 years ago
Stefan Bühler
f9d0abac66
[lua] add lighty.error -> lighty.print alias
10 years ago
Stefan Bühler
9e71dc6890
[core] li_value_to_string: use => for separating hash keys and values like the config
10 years ago
Stefan Bühler
32e91a9e8a
[core] handle NULL values in li_value_extract* functions
10 years ago
Stefan Bühler
74b64a6d1a
[plugin_core] log/setup log: convert to handling key-value list
10 years ago
Stefan Bühler
92dc237ee8
[core] add li_value_new_hashtable to create a GString -> liValue hashtable
10 years ago
Stefan Bühler
ccd512ca57
[waf] remove waf for now, doesn't work anymore
10 years ago
Stefan Bühler
3c27596287
[plugin_core] index action should do less stat() calls now, especially for multiple names
10 years ago
Stefan Bühler
969818083e
[core] add li_value_to_key_value_list: convert value hash to key-value list
10 years ago
Stefan Bühler
a7f41b9e3b
[core] check for disabled keep-alive early to send matching headers
10 years ago
Stefan Bühler
b9d77f50a4
[core] add req_header.* actions
10 years ago
Simon Lundström
859da7d7eb
[plugin_core] docroot: show stat() errors for all entries when debug log is enabled
10 years ago
Stefan Bühler
bfa1395937
[throttle] fix connection throttling refill calculation
10 years ago
Stefan Bühler
05e058aa9c
fix bugs and warnings reported by clang
...
* fix memset sizeof() bugs
* fix unaligned memory access
* fix warnings for casts with alignment change
* crypt_r needs _GNU_SOURCE
10 years ago
Stefan Bühler
95f63fc0cf
[core] add global named fetch pool; all backends have to return strings. implement a simple backend.
10 years ago
Stefan Bühler
97dbcf7e42
[core] add option to disable buffering large request bodies on disk - forward them to backend directly instead
...
- right now only mod_fastcgi can handle this (it won't set the CONTENT_LENGTH env var, the backend
has to support this too)
10 years ago
Stefan Bühler
64cabac477
[core] fix connection timeout handling
10 years ago
Stefan Bühler
5e4a94b0c6
[core] handle Connection: Upgrade
10 years ago
Stefan Bühler
5e0a58be53
[stream-http-response] support chunk encoded responses
10 years ago
Stefan Bühler
3deb7c9e79
[core] support chunked uploads
10 years ago
Stefan Bühler
4706cc5f60
Fix filedescriptor/socket leaking
10 years ago
Stefan Bühler
6e6e8792de
[filter] don't run filter on stream-dest connect
10 years ago
Stefan Bühler
7f61ca9dba
disable some debug messages
10 years ago
Stefan Bühler
44f56b034f
[filters] fix memleak
10 years ago
Stefan Bühler
8a65b5e7aa
[throttle] fix memory leak
10 years ago
Stefan Bühler
0857befb7f
fix handling of new connection state
10 years ago
Stefan Bühler
abdb238f21
[core] fix half cleaned connection objects
10 years ago
Stefan Bühler
31e581456d
[core] use TCP_FASTOPEN on listening sockets if available
10 years ago
Stefan Bühler
bf6470375a
flush sockets after request end by setting TCP_NODELY temporarily
10 years ago
Stefan Bühler
11b4bdd8c5
replace unneeded ev_/EV_ references
10 years ago
Stefan Bühler
709296d796
fix bugs and warnings from compiler warnings (memset parameter order, shadow, ...)
10 years ago
Stefan Bühler
7a01f69b89
fix connection is_closed handling (never close raw_out, never close con->out.source->out)
10 years ago
Stefan Bühler
914f79650a
fix connection handling with chunked responses
10 years ago
Stefan Bühler
c61f4929cb
more asserts and checks in stream_simple_socket
10 years ago
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