Stefan Bühler
5222d524ad
[plugin_core] fix some setup parameter handling
2013-09-09 23:23:46 +02:00
Stefan Bühler
1a7eec4aa5
[mod_gnutls] disable protect-against-beast by default now - considered mitigated on client side
2013-09-09 16:17:18 +02:00
Stefan Bühler
81ff95db84
[mod_gnutls] announce http/1.1 in ALPN
2013-09-09 16:16:38 +02:00
Stefan Bühler
e55f423203
[config] fix more bugs in new config handling
2013-09-09 13:10:50 +02:00
Stefan Bühler
d65a2ffc16
[mod_redirect] fix segfault in config parsing
2013-09-09 12:28:31 +02:00
Stefan Bühler
04c6aa93cf
[plugin_core] fix alias action
2013-09-09 12:15:12 +02:00
Stefan Bühler
e4c99e55d6
[config] fix bug in config parser (failed parsing names followed by a comma)
2013-09-09 12:09:22 +02:00
Stefan Bühler
4056bd1a43
[config] fix mem leaks in config parser
2013-09-09 10:30:07 +02:00
Stefan Bühler
875995dae5
[config] fix bugs in new config handling
2013-09-09 10:17:43 +02:00
Stefan Bühler
8037af605f
replace g_hash_table_contains with g_hash_table_lookup
2013-09-06 17:11:14 +02:00
Stefan Bühler
eb19c66524
[lua] fix key-value list handling and export of lists
2013-09-06 16:43:28 +02:00
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
2013-09-06 16:43:26 +02:00
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)
2013-09-06 14:36:55 +02:00
Stefan Bühler
b783bd5aaa
[misc] use less C99 features
2013-08-23 13:39:09 +02:00
Stefan Bühler
061b2a4262
[core] handle differences between options/actions/setups in plugin.c
2013-08-22 18:02:50 +02:00
Stefan Bühler
898e0c4687
[log] fix small mem leak
2013-08-22 15:02:35 +02:00
Stefan Bühler
cebb8df82c
[mod_vhost] fix config mem leak
2013-08-22 15:02:33 +02:00
Stefan Bühler
ad687636e9
[lua] push list values with __index metamethod to lookup string/nil keys in key-value lists
2013-08-21 13:50:02 +02:00
Stefan Bühler
9f9fe72d97
[lua] fix usage of lua_typename
2013-08-21 13:50:02 +02:00
Stefan Bühler
f9d0abac66
[lua] add lighty.error -> lighty.print alias
2013-08-21 12:41:11 +02:00
Stefan Bühler
0adefe5f18
[mod_memcached] convert to handling key-value list
2013-08-19 20:09:16 +02:00
Stefan Bühler
9430a8a112
[mod_deflate] convert to handling key-value list
2013-08-19 19:22:22 +02:00
Stefan Bühler
9e71dc6890
[core] li_value_to_string: use => for separating hash keys and values like the config
2013-08-19 19:13:48 +02:00
Stefan Bühler
d825212823
[mod_lua] convert to handling key-value list
2013-08-19 19:11:28 +02:00
Stefan Bühler
32e91a9e8a
[core] handle NULL values in li_value_extract* functions
2013-08-19 19:10:15 +02:00
Stefan Bühler
a14d0d00a5
[mod_auth] convert to handling key-value list
2013-08-19 18:53:01 +02:00
Stefan Bühler
74b64a6d1a
[plugin_core] log/setup log: convert to handling key-value list
2013-08-19 17:26:16 +02:00
Stefan Bühler
433d4da14e
[mod_vhost] convert to handling key-value list; make vhost.map_regex predictable
...
vhost.map_regex used to reorder the list to put often used entries at
the top; now it just uses the first matching entry.
new syntax now uses the default keyword for default entries instead of
the string "default".
2013-08-19 16:25:34 +02:00
Stefan Bühler
92dc237ee8
[core] add li_value_new_hashtable to create a GString -> liValue hashtable
2013-08-19 15:43:48 +02:00
Stefan Bühler
7bc6e275ef
[mod_throttle] fix refcount and double free
2013-08-18 19:58:09 +02:00
Stefan Bühler
ccd512ca57
[waf] remove waf for now, doesn't work anymore
2013-08-18 18:42:15 +02:00
Stefan Bühler
3c27596287
[plugin_core] index action should do less stat() calls now, especially for multiple names
2013-08-18 15:59:26 +02:00
Stefan Bühler
919a8dd6d2
[mod_openssl] error out on unknown parameters
2013-08-18 15:53:26 +02:00
Stefan Bühler
dc2f0b7885
[mod_openssl] support key-value list for multiple listen parameters
2013-08-18 15:49:12 +02:00
Stefan Bühler
8eae9f3b50
[mod_gnutls] remove ca-file option; only needed for not yet supported client cert authentication. add docs in the source
2013-08-18 14:29:26 +02:00
Stefan Bühler
c372d21f2c
[mod_gnutls] use key-value list for parameters, allows duplicate listen/pemfile parameters
2013-08-18 13:48:48 +02:00
Stefan Bühler
969818083e
[core] add li_value_to_key_value_list: convert value hash to key-value list
2013-08-18 13:47:29 +02:00
Stefan Bühler
ab47f9b33c
[mod_gnutls] fix endless loop in client hello parser
2013-08-18 11:45:45 +02:00
Stefan Bühler
36b901afa7
[mod_gnutls] fix build with SNI disabled
2013-08-18 11:16:01 +02:00
Stefan Bühler
40169d5fc9
[autobuild] fix renamed header ssl_client_hello_parser.h
2013-08-18 11:15:30 +02:00
Stefan Bühler
a7f41b9e3b
[core] check for disabled keep-alive early to send matching headers
2013-08-18 00:58:54 +02:00
Stefan Bühler
975ca1cddf
[mod_gnutls] parse client hello for sni and protocol version
...
changing priority in gnutls post_client_hello didn't work with session
resumption
2013-08-18 00:55:24 +02:00
Stefan Bühler
c51d89fe6e
[mod_openssl] disable SSL3 by default
2013-08-09 00:23:33 +02:00
Stefan Bühler
0b8365ca29
[mod_openssl] enable DH and ECDH
2013-08-07 20:59:46 +02:00
Stefan Bühler
b9d77f50a4
[core] add req_header.* actions
2013-08-07 18:05:16 +02:00
Stefan Bühler
f3436e69f1
[gnutls] fix cleanup order (use-after-free)
2013-08-03 09:24:58 +02:00
Simon Lundström
859da7d7eb
[plugin_core] docroot: show stat() errors for all entries when debug log is enabled
2013-07-31 21:54:05 +02:00
Stefan Bühler
f64ba1bb72
[fastcgi] add debug prints before all fastcgi_reset calls, don't reset connection on stderr data if connection was already closed
2013-07-20 13:33:58 +02:00
Stefan Bühler
9aafe5aa2a
[fetch] use signed integers for liFetchDatabase refcount
2013-07-20 11:49:49 +02:00
Stefan Bühler
e762189fb5
[core] only use feature test macros on linux
2013-07-20 11:45:09 +02:00
Stefan Bühler
bfa1395937
[throttle] fix connection throttling refill calculation
2013-07-18 13:05:09 +02:00
Stefan Bühler
a1170b3aec
[mod_gnutls] fix segfault when no sni backend was configured
2013-07-17 20:18:52 +02:00
Stefan Bühler
d5bb6003dc
include lighttpd/settings.h instead of base.h in common source
2013-06-25 16:38:17 +02:00
Stefan Bühler
8f42bbe7b4
[gnutls filter] fix cork handling
2013-06-25 16:20:18 +02:00
Stefan Bühler
b9fadd3db3
[ssl_sni_parser] debugging, fix parser bug (wrong shift)
2013-06-10 12:12:36 +02:00
Stefan Bühler
85fc9dbb6d
[mod_gnutls,fetch api] associate sni certs with dh params, fix fetch bug
2013-06-09 18:10:23 +02:00
Stefan Bühler
796f6b1547
[mod_gnutls] send alerts instead of aborting, allow safe renegotiations
2013-06-09 16:15:43 +02:00
Stefan Bühler
3d86ada352
add ssl_sni_parser.h to make dist
2013-06-08 23:18:39 +02:00
Stefan Bühler
92f0a5f237
[mod_gnutls] add sni-fallback-pemfile option
2013-06-08 21:36:59 +02:00
Stefan Bühler
8d417cec1b
[mod_gnutls] fix compile error when compiling without SNI
2013-06-08 20:23:06 +02:00
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
2013-06-08 20:11:23 +02:00
Stefan Bühler
392e7bb823
[mod_gnutls] add SNI
2013-06-08 20:11:13 +02:00
Stefan Bühler
95f63fc0cf
[core] add global named fetch pool; all backends have to return strings. implement a simple backend.
2013-06-08 20:10:47 +02:00
Stefan Bühler
2bcb880dc8
[core] implement generic "fetch" api
2013-06-04 01:12:35 +02:00
Stefan Bühler
86c93c6256
[mod_gnutls] use 4096-bit DH params by default
2013-06-02 13:31:06 +02:00
Stefan Bühler
2cc5eb90d6
[mod_gnutls] actually use dh params loaded from file
2013-06-02 12:27:36 +02:00
Stefan Bühler
9a70d79f66
[mod_gnutls] add memory session database
2013-06-02 11:43:04 +02:00
Stefan Bühler
c15deb44a4
[mod_gnutls] support DH parameters, use pregenerated 3247 bit parameter by default
2013-06-02 10:44:08 +02:00
Stefan Bühler
f4280dca8b
[mod_gnutls] session ticket support
2013-06-01 17:40:14 +02:00
Stefan Bühler
c49cf3696f
[mod_gnutls] fix beast workaround (force RC4 on TLS1.0 and SSL3.0)
2013-06-01 15:28:06 +02:00
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)
2013-06-01 12:31:25 +02:00
Stefan Bühler
38aad8128e
[angel,tests] implement and use "one-shot" option to not restart crashed workers
2013-05-31 20:47:43 +02:00
Stefan Bühler
64cabac477
[core] fix connection timeout handling
2013-05-31 20:28:53 +02:00
Stefan Bühler
5e4a94b0c6
[core] handle Connection: Upgrade
2013-05-31 20:28:53 +02:00
Stefan Bühler
5e0a58be53
[stream-http-response] support chunk encoded responses
2013-05-31 20:28:53 +02:00
Stefan Bühler
3deb7c9e79
[core] support chunked uploads
2013-05-31 16:41:32 +02:00
Stefan Bühler
4706cc5f60
Fix filedescriptor/socket leaking
2013-05-28 11:46:41 +02:00
Stefan Bühler
00926c8049
[mod_openssl,mod_gnutls] fix missing disconnect (mem leak), free buffers (mem leak)
2013-05-28 10:05:34 +02:00
Stefan Bühler
42b49307b9
[mod_fastcgi] next try to fix use after free
2013-05-28 10:05:34 +02:00
Stefan Bühler
bb018b091a
[mod_fastcgi] fix use after free
2013-05-27 10:04:01 +02:00
Stefan Bühler
6e6e8792de
[filter] don't run filter on stream-dest connect
2013-05-26 20:14:49 +02:00
Stefan Bühler
7f61ca9dba
disable some debug messages
2013-05-26 18:59:44 +02:00
Stefan Bühler
44f56b034f
[filters] fix memleak
2013-05-26 18:54:52 +02:00
Stefan Bühler
8a65b5e7aa
[throttle] fix memory leak
2013-05-26 18:50:21 +02:00
Stefan Bühler
0857befb7f
fix handling of new connection state
2013-05-26 17:37:33 +02:00
Stefan Bühler
db36f6a78b
[mod_cache_disk_etag] fix use after free
2013-05-26 15:46:36 +02:00
Stefan Bühler
abdb238f21
[core] fix half cleaned connection objects
2013-05-25 19:14:02 +02:00
Stefan Bühler
d90774c330
[mod_cache_disk_etag] fix segfault
2013-05-25 18:10:21 +02:00
Stefan Bühler
7c003a5505
[mod_throttle] build with automake/wscript too
2013-05-25 16:21:31 +02:00
Stefan Bühler
31e581456d
[core] use TCP_FASTOPEN on listening sockets if available
2013-05-25 16:15:14 +02:00
Stefan Bühler
bf6470375a
flush sockets after request end by setting TCP_NODELY temporarily
2013-05-25 15:23:16 +02:00
Stefan Bühler
11b4bdd8c5
replace unneeded ev_/EV_ references
2013-05-25 14:37:09 +02:00
Stefan Bühler
75e0c442f7
[mod_gnutls] fix issues with giovec_t present before 2.12.0
2013-05-25 14:23:53 +02:00
Stefan Bühler
3194226966
[mod_gnutls] use vec_push only if version >= 2.12.0
2013-05-25 14:10:58 +02:00
Stefan Bühler
709296d796
fix bugs and warnings from compiler warnings (memset parameter order, shadow, ...)
2013-05-25 12:59:14 +02:00
Stefan Bühler
0ff0df8e12
[mod_fastcgi] show stderr messages
2013-05-25 12:29:04 +02:00
Stefan Bühler
018baa0375
[mod_fastcgi] abort request only if headers aren't sent; otherwise stream disconnect will handle it
...
out stream disconnects will lead to fastcgi_reset too, but the vrequest is fine in that case
2013-05-25 11:39:03 +02:00
Stefan Bühler
7a01f69b89
fix connection is_closed handling (never close raw_out, never close con->out.source->out)
2013-05-25 11:29:36 +02:00
Stefan Bühler
914f79650a
fix connection handling with chunked responses
2013-05-24 19:02:46 +02:00
Stefan Bühler
ff28617976
[mod_fastcgi] disable keep-alive for now
2013-05-24 17:23:24 +02:00
Stefan Bühler
c61f4929cb
more asserts and checks in stream_simple_socket
2013-05-24 17:19:44 +02:00
Stefan Bühler
b6325775dc
[backends] fix connection insertion
2013-05-24 15:17:02 +02:00
Stefan Bühler
ba46b595ae
[mod_fastcgi] fix broken asserts
2013-05-24 15:16:30 +02:00
Stefan Bühler
d59cbf3f4e
[mod_fastcgi] add some asserts
2013-05-24 14:06:00 +02:00
Stefan Bühler
5c2cc7143d
fix filters (deflate, memcached, cache_disk_etag)
2013-05-24 13:50:50 +02:00
Stefan Bühler
f33a7fd3fa
[lua] check values for NULL before pushing to stack
2013-05-24 11:21:13 +02:00
Stefan Bühler
3aa78c1002
wait for request body in dynamic backends, cache them on disk
2013-05-23 17:56:24 +02:00
Stefan Bühler
c40b1da839
[subrequests lua] fix compile warnings. still not working, needs to be ported to stream api.
2013-05-23 17:56:24 +02:00
Stefan Bühler
f1f1aacdfe
fix glib deprecation warnings
2013-05-23 17:56:24 +02:00
Stefan Bühler
a937bd437a
fix missing li prefixes
2013-05-23 17:56:24 +02:00
Stefan Bühler
72ec9a432f
[throttle] rewrite
2013-05-23 17:56:24 +02:00
Stefan Bühler
e0d9c0d602
[core] register server prepare callbacks
2013-05-23 17:56:24 +02:00
Stefan Bühler
b028ad841f
[mod_gnutls] stream
2013-05-23 17:56:24 +02:00
Stefan Bühler
d0d3c851a5
[openssl] use BIO wrappers for streams
2013-05-23 17:56:24 +02:00
Stefan Bühler
d9952f8e14
[mod_proxy] use backends
2013-05-23 17:56:23 +02:00
Stefan Bühler
cfd8955008
[common] implement libev wrapper
...
* need a way to mark a watcher as "don't keep the loop alive"
2013-05-23 17:56:23 +02:00
Stefan Bühler
079c365f39
[mod_scgi] use backends
2013-05-23 17:56:23 +02:00
Stefan Bühler
b74ec36c1e
[mod_fastcgi]: use backends
2013-05-23 17:56:23 +02:00
Stefan Bühler
ff69160c34
[core] Use streams
2013-05-23 12:01:04 +02:00
Stefan Bühler
b41cc2898a
generic backends
2013-05-23 12:01:04 +02:00
Stefan Bühler
c450fa82a5
[core] implement streams on chunkqueues
2013-05-22 18:12:15 +02:00
Stefan Bühler
ebd5a4ecb3
Fix comment style (//) and add gnutls to automake distcheck
2013-05-21 16:51:15 +02:00
Stefan Bühler
6a33c93231
Revert "[core] implement streams on chunkqueues"
...
- accidental push, patch not finished yet
This reverts commit 74ce55c860
.
2013-05-17 20:27:52 +02:00
Stefan Bühler
74ce55c860
[core] implement streams on chunkqueues
2013-05-17 15:40:20 +02:00
Stefan Bühler
20a63070e2
[chunks] extract to plain memory
2013-05-17 15:40:20 +02:00
Stefan Bühler
092a1b0141
fix bugs found with clang-3.3 -fsanitize=address,undefined
2013-05-17 12:35:25 +02:00
Stefan Bühler
4793e43461
[mod_gnutls] fix ca-file handling
2013-05-07 13:58:35 +02:00
Stefan Bühler
186309f529
[lua] add missing file
2013-05-05 16:22:07 +02:00
Stefan Bühler
0d85a068c8
[lua] add per lua_State lock
2013-05-04 13:11:25 +02:00
Stefan Bühler
c1851a6cea
[lua] force garbage collection
2013-05-03 18:59:06 +02:00
Stefan Bühler
f2ade38923
Release mainaction before stopping workers
2013-05-03 18:57:58 +02:00
Stefan Bühler
ff7b73c8a9
[collect] Allow to start collect without worker context
2013-04-10 20:48:16 +02:00
Stefan Bühler
0dd67d972a
[mod_lua] fix order of setting ts_loaded and checking it
2013-04-09 16:44:50 +02:00
Stefan Bühler
e2d7bb30ec
[mod_lua] fix docs
2013-01-25 10:02:08 +01:00
Stefan Bühler
ff527c560c
[mod_lua] fix ttl handling for lua.handler
2013-01-25 10:02:08 +01:00
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
2013-01-25 09:57:54 +01:00
Stefan Bühler
01abf704a3
[lua] Use recursive lock for global lua lock
2012-12-06 15:43:11 +01:00
Stefan Bühler
178e7c898f
[profiler] use g_static_mutex to trigger mutext memory allocation before registering profiler alloc handlers
2012-12-06 15:34:51 +01:00
Stefan Bühler
af3e0728fa
[mod_deflate] Parse x-gzip/x-bzip2 explicitly and send it back as it was requested (instead of gzip/bzip2)
2012-10-14 17:33:02 +02:00
Stefan Bühler
2634c77aae
Fix use of deprecated g_strcasecmp
2012-06-16 13:08:57 +02:00
Stefan Bühler
b310884f4d
[log] Remove (broken) locking for g_printerr in li_log_write_stderr - fputs, the default backend, is thread safe
2012-06-16 13:07:14 +02:00
Stefan Bühler
1951de6e40
[mod_acceslog] fix escaping of "
2012-06-16 12:57:27 +02:00
Stefan Bühler
d705276183
[plugin_core] Fix closing data stream for invalid ranges in static handling
2012-04-05 14:55:14 +02:00
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
2012-03-17 15:52:19 +01:00
Stefan Bühler
a0227182d6
Fix small memleak with server sockets
2012-03-17 15:38:44 +01:00
Stefan Bühler
97bc95a107
[configparser] allow normal actions and setups with the same name
2012-03-17 12:42:55 +01:00
Stefan Bühler
b1c45e6a8f
[chunk/network] use glib error system to report errors (instead of using virtualrequest context)
2012-03-16 15:44:22 +01:00
Stefan Bühler
77f786ed18
[log] remove different timestamp format handling (one is enough), separate log context (liLogMap) from virtualrequest
2012-03-16 13:25:52 +01:00
Stefan Bühler
8d709f8574
[ipv6 parser] Fix type-punned memory access
2012-03-13 00:19:56 +01:00
Stefan Bühler
c270124514
[mod_gnutls] remove \n from log messages
2012-01-22 13:26:29 +01:00