Fork 0
Commit Graph

1455 Commits (e4c99e55d618716d8a3a70e13750f56a0e07046f)

Author SHA1 Message Date
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 4f45909f2d [tests] cleanup to use new config style 2013-09-06 16:47:08 +02:00
Stefan Bühler a7c61d8c06 [tests] test secdownload.lua and the lua key-value list lookup 2013-09-06 16:43:28 +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 8e41187ff6 [tests] add --valgrind-leak option 2013-08-22 15:02:35 +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 8a0a8715d0 [tests] only use cache.disk.etag if request was handled 2013-08-21 12:42:37 +02:00
Stefan Bühler f9d0abac66 [lua] add lighty.error -> lighty.print alias 2013-08-21 12:41:11 +02:00
Stefan Bühler c963de4083 [tests] test auth.require_user from doc/core.lua 2013-08-21 12:10:03 +02:00
Stefan Bühler 3dceac0d56 [doc] update config examples in doc/*.lua to match current syntax 2013-08-21 12:09:26 +02:00
Stefan Bühler 921982f0fc [tests] put scgi application into separate file 2013-08-19 22:34:54 +02:00
Stefan Bühler 1c22f3aa2b [tests] add a stub python memcached server, add mod_memcached tests 2013-08-19 22:24:48 +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 5fb031a910 [tests] run config test with valgrind too if enabled 2013-08-19 19:11:02 +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 adea78e671 [autobuild] autogen.sh remove generated files before creating new ones
configure complained that "missing" didn't support something;
it seems autotools fail to update the generated scripts

also cleanup .gitignore
2013-08-18 18:45:37 +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
2013-08-18 00:55:24 +02:00
Stefan Bühler 0e9871e695 [doc] update example mime-types 2013-08-15 21:26:01 +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 c15b37260a [tests/mod_deflate] test removing Accept-Encoding header 2013-08-07 18:50:49 +02:00