1136 Commits (77f786ed18fb71aaa46b946c11126f7ea8c8fe23)

Author SHA1 Message Date
Stefan Bühler 1c3d3c287f [core]: add tasklet pools to workers and use them for stat-cache
13 years ago
Stefan Bühler 8587598a66 [core] add tasklets: jobs which use blocking code
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 1fb0e6db2c Rename angel config "listen" to "allow-listen"
13 years ago
Stefan Bühler c3164aba8b Move binary names: angel becomes lighttpd2, worker lighttpd2-worker
13 years ago
Stefan Bühler 0047fe22fa radix: fix li_radixtree_new prototype
13 years ago
Stefan Bühler b8a0921265 Add some missing LI_/li prefixes for types and enum values
13 years ago
Stefan Bühler 7976cf53cf [mod_proxy] Add X-Forwarded-{For,Proto} headers, handle 1xx responses
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 0325d10f4a [mod_balancer] fix comments
13 years ago
Stefan Bühler ec3fa8251f [mod_fastcgi] stop spamming logfile with repeated error
13 years ago
Stefan Bühler 3b202faf01 Implement backlog for balancer
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 20fc288481 [mod_balancer] Implement RoundRobin and SQF
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 b11c98d4cf [mod_status] Fix memory usage display on runtime info page
13 years ago
Thomas Porzelt de02a475c3 [mod_status] Show memory usage instead of hostname
13 years ago
Stefan Bühler 06b40f5ff4 Fix compile on FreeBSD
13 years ago
Thomas Porzelt 15c89fc606 [core] Fix compilation on osx and freebsd+waf
13 years ago
Thomas Porzelt 20c3e7d6ad [core] Add li_memory_usage(), clean up some old sys-* files
13 years ago
Stefan Bühler 2045be0729 mod_auth: fixing previous commit
13 years ago
Stefan Bühler 72addaeec3 mod_auth: ignore already handled requests
13 years ago
Stefan Bühler 37666894ed [cmake]: check glib version for >= 2.16
13 years ago
Stefan Bühler 06c7dfd3b9 mod_limit: Include radix.h
13 years ago
Stefan Bühler 2439159689 [cmake]: Fix mod_limit
13 years ago
Thomas Porzelt 2d2bb12e3d [modules] Add mod_limit
13 years ago
Thomas Porzelt e2a551298e [core] Use liCond* helpers in li_pattern_parse/eval
13 years ago
Stefan Bühler fa3c81bd11 [mod_memcached]: less log spam, fix another endless loop
13 years ago
Stefan Bühler 831cca1c59 [mod_memcached]: try to fail quietly after connection resets until the next connect
13 years ago
Stefan Bühler d498a9fee9 memcached.c: fix endless loops
13 years ago
Stefan Bühler 0b5a67b2a6 memcached.c: fix GET response parsing
13 years ago
Stefan Bühler e10df4ed77 memcached.c: fix wrong parameter (use real enum value)
13 years ago
Stefan Bühler 0e4291d5dd [mod_memcached]: fix some debug messages
13 years ago
Stefan Bühler acf6263448 memcached.c: clear error (fixing another memleak) on free
13 years ago
Stefan Bühler 2d44ae1ea9 memcached.c: Fix mem leaks and ev_io stop/start
13 years ago
Thomas Porzelt c8663ffda9 [core] Allow disabling of stat cache through stat_cache.ttl 0;
13 years ago
Stefan Bühler cbb9165eb0 [mod_memcached]: set default ttl to 30 seconds
13 years ago
Stefan Bühler d5bc446ebe [mod_memcached]: implement refcount handling for memcache_ctx
13 years ago
Thomas Porzelt 23e6b0d685 [waf] Make lua optional with mod_memcached
13 years ago
Stefan Bühler 8406d0e341 [waf]: compile/link mod_memcached against lua if available
13 years ago
Thomas Porzelt ddc65cccc0 [waf] Add memcached.c to src/commin/wscript
13 years ago
Stefan Bühler ca315bee89 [mod_memcached]: Implement memcached.store
13 years ago
Stefan Bühler c0128fea48 [mod_memcached] Initial mod_memcached
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 be64c8c445 [mod_debug] Add some more info to connection struct dump
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 fa63e180e9 [mod_status] Prefix key names for status codes in plain format
13 years ago
Thomas Porzelt 5f310af7c0 [mod_status] Print response status codes summary when plain format requested
13 years ago
Thomas Porzelt 000bb1a2e1 [mod_status] Fix display of io timeout
13 years ago
Thomas Porzelt bba88e3326 [core] Fix detection of too big request http header
13 years ago
Thomas Porzelt c4ba2608fa [mod_status] Show time remaining in timeout column and show keepalive timeout if in keepalive state
13 years ago
Thomas Porzelt 6060380550 [core] Small fix for keepalive handling
13 years ago
Thomas Porzelt 39df9263fb [plugin_core] Add support for patterns to log.write action
13 years ago
Thomas Porzelt 013297bc9b [core] Ignore callbacks if NULL in pattern_eval()
13 years ago
Stefan Bühler 69f4ad2b4b Don't set RLIM_INFINITY as rlim_cur for RLIMIT_NOFILE, use 4096 if rlim_cur < 4096 and rlim_max = inf
13 years ago
Thomas Porzelt 7056b879e7 [core] Fix detection of too large http request header
13 years ago
Thomas Porzelt 031b4d17e4 [mod_vhost] Mark vhost.simple and vhost.pattern as deprecated in favor of 'docroot'
13 years ago
Thomas Porzelt 7409b2ef63 [plugin_core] Enable 'docroot' action to use patterns and even traverse a list of these
13 years ago
Thomas Porzelt 3668ef97ab [core] Add liPattern type and associated functions
13 years ago
Stefan Bühler 7174ca4d15 [mod_deflate] Fix bzip2 encoding
13 years ago
Stefan Bühler 5e063e2b04 [core] Enable li_plugins_init_lua again, fixed segfault
13 years ago
Thomas Porzelt 14ed0a508b [core] Disable call to li_plugins_init_lua() for now, causes segfault due to being called in the wrong place (srv->plugins does not exist yet)
13 years ago
Thomas Porzelt b5009f18df [core] Fix usage of sched_setaffinity() and disable it for now as it seems to impose a little performance hit
13 years ago
Thomas Porzelt 91cc6e06bb [waf] Don't compile profiler.c or link libexecinfo on FreeBSD when not using --with-profiler
13 years ago
Thomas Porzelt 5646b353ea [core] Specify file permissions when creating profiler output file
13 years ago
Thomas Porzelt d8c187453a [mod_debug] Don't compile debug.profiler_dump action at all when profiler support missing
13 years ago
Thomas Porzelt c8a23a947f [core] Check if profiler output file has been truncated since opening
13 years ago
Stefan Bühler e00febcd40 Fix vrequest-ref api
13 years ago
Stefan Bühler c2271c15c3 Add plugin init-lua hook
13 years ago
Stefan Bühler 4afebee1c7 Make profiler optional
13 years ago
Stefan Bühler 8fa282ffaf Fix some queue handling bugs in angel connection
13 years ago
Stefan Bühler 26ebaa3bd3 Add a new liBuffer alloc function for long-term buffers
13 years ago
Thomas Porzelt 727a480a14 [core] Remove profile_mem action from core plugin, was moved to mod_debug
13 years ago
Thomas Porzelt aaaf75a9da [mod_debug] Add debug.profiler_dump action
13 years ago
Thomas Porzelt 0084f21174 [core] Update queue->delay in li_waitqueue_set_delay(), not only ev timer
13 years ago
Thomas Porzelt bf632326a7 [core] Update and start (if necessary) io timeout in li_worker_run() fixing first worker ignoring io.timeout from config
13 years ago
Thomas Porzelt b3f8b8d62f [core] Add li_waitqueue_set_delay() function
13 years ago
Thomas Porzelt de3515cd27 [waf] Add check for and link against libexecinfo on FreeBSD
13 years ago
Thomas Porzelt f285ad372e [core,waf,autoconf,cmake] Add check for execinfo.h and disable stacktraces in profiler if not available
13 years ago
Thomas Porzelt fa1c73cbe6 [core] Make profiler output to file, fix small issue with profiler_try_realloc()
13 years ago
Thomas Porzelt 1dfa1c37f2 [core] Reworked memory profiler. Commited only very simple version tracking allocated objects and printing backtraces for leaked ones upon exit
13 years ago
Thomas Porzelt c0e7ef3654 [core] Fix memleak in filter_buffer_on_disk/bod_open() and free srv->optionptrs on exit
13 years ago
Stefan Bühler b144242a07 Fix timestamp handling a little bit
13 years ago
Stefan Bühler 658b9d0131 Fix unitialized var in mod_deflate
13 years ago
Stefan Bühler 26942e6b6c Fix dangling references to action stack
13 years ago
Stefan Bühler a8efcfcc0e modify plugin api to include worker context for action/option parsing; add per-worker callback for stop_worker
13 years ago
Thomas Porzelt 86e039e6d2 [core] Add --module-resident commandline parameter to prevent module unloading. Useful for valgrind or tcmalloc
13 years ago
Stefan Bühler 46b9a28f87 Fix pathinfo; action to remove the pathinfo from the url too (for SCRIPT_NAME)
13 years ago
Thomas Porzelt 67e940676d [mod_userdir] Reorder includes to kill compiler warning
13 years ago
Thomas Porzelt bf2d01e56c [core] Ensure that a connection is always in the io timeout queue when not in keep-alive state
13 years ago
Thomas Porzelt 32cb017ba6 [core] Zero timestamps when removing element from waitqueue
13 years ago
Thomas Porzelt 681b2f2bc9 [mod_userdir] Append username if pattern does not include placeholder for it. Also ensure slashes in certain places
13 years ago
Thomas Porzelt f528fc9851 [mod_userdir] Removed debug prints
13 years ago
Thomas Porzelt 852ff8ecf6 [modules] Add mod_userdir
13 years ago
Thomas Porzelt c72ee99ad7 [modules] Add mod_flv
13 years ago
source@lighttpd.net 4ef800e871 Use HTTP/1.0 in mod_proxy for now, don't forward (Proxy-)?Connection headers
13 years ago
Thomas Porzelt 9d14c6bce7 [core] Send Content-Type text/html for generated error pages
13 years ago
Thomas Porzelt 6c2da09814 [mod_progress] Fix 'sent' output, progress.show parameter parsing and send application/x-javascript Content-Type header
13 years ago
Thomas Porzelt 2e710f4241 [mod_progress] Fix detection of finished requests
13 years ago
Thomas Porzelt 0c751ba6ef [mod_progress] Fix JSON format (double quotes instead of single quotes...), fix wrong default recognized http method (GET instead of POST) and a minor compile warning
13 years ago
Thomas Porzelt 9b0db666c5 [modules] Add mod_progress
13 years ago
Thomas Porzelt 0af117d47f [core] Reposition check for header size limit fixing wrong positives
13 years ago
Thomas Porzelt 683e334599 [plugin_core] Return error 405 for methods other than GET or HEAD on static files
13 years ago
Thomas Porzelt ad8570423a [core] Add li_http_method_from_string() function
13 years ago
Stefan Bühler 19bc091432 Only call li_plugins_handle_vrclose in vrequest_reset if vrequest is in use
13 years ago
Stefan Bühler bd40dec873 Only call li_plugins_handle_vrclose in vrequest_free if vrequest is in use
13 years ago
Stefan Bühler c89c194deb Fix module path handling in angel
13 years ago
Thomas Porzelt 8186b62dfe [mod_rewrite,mod_redirect] Refactor code a bit to silence clang code analyzer
13 years ago
Stefan Bühler 7cd62d7a54 mod_openssl: Fix check of return value from SSL_CTX_set_options
13 years ago
Stefan Bühler 053739a46d [lua]: chunkqueue: fix file<->tempfile handling
13 years ago
Stefan Bühler 25222e9b1c stat-cache: Fix segfault
13 years ago
Stefan Bühler a31b3ee403 [lua]: provide filename to chunkfile for add_temp_file (needed to unlink it)
13 years ago
Stefan Bühler 405c6b26f4 Part 2: [lua]: Add 'add_file' and 'add_temp_file' method for chunkqueue; 'add' only accepts simple strings now
13 years ago
Stefan Bühler 82c2971ddc [lua]: Add 'add_file' and 'add_temp_file' method for chunkqueue; 'add' only accepts simple strings now
13 years ago
Stefan Bühler 48aac3ab07 [stat-cache] Provide blocking cached stat
13 years ago
Stefan Bühler 38ec6b3c2d conditionals: Fix port matching (ntohs)
13 years ago
Thomas Porzelt 1f6c788600 Merge branch 'master' of git+ssh://188.40.103.19:2233/lighttpd/sandbox
13 years ago
Thomas Porzelt 5892c78e7d [core] Support req. phys. and resp. abbreviations in li_cond_lvalue_from_string() and make config parser use this function instead of own code
13 years ago
Stefan Bühler b127da0a85 [mod_auth]: fix doc
13 years ago
Stefan Bühler 3dc644cf40 Add conditionals for local and remote port (-1 for unix sockets)
13 years ago
Stefan Bühler 63ed53e31a Fix casts in utils.c
13 years ago
Stefan Bühler c0f5b9b151 server.c: free srv->statelock
13 years ago
Stefan Bühler 5a654a0b7c mod_lua: fix prepare handling
13 years ago
Stefan Bühler 2c4f6b29a1 Handle NULL values in plugin_core.c
13 years ago
Thomas Porzelt 48913fac46 [core] Fix compiler warning in throttle.c
13 years ago
Thomas Porzelt 5616992ca0 [mod_status] Add statistics for HTTP status codes
13 years ago
Stefan Bühler e0370fac79 Fix some lua handling; add args for lua plugins/handlers
13 years ago
Stefan Bühler f43f70de6e [lua] export path_simplify
13 years ago
Stefan Bühler 0a46134334 Fix buffer refcount; segfault/abort in mod_openssl
13 years ago
Stefan Bühler dcd7209a42 [mod_lua] Use handle_prepare to create per-worker context
13 years ago
Stefan Bühler 8f317d1ded [mod_deflate]: don't deflate after transfer-encoding
13 years ago
Stefan Bühler 59835b5eb1 remove content-encoding, transfer-encoding and etag header for generated error bodies
13 years ago
Stefan Bühler d0f6484e7c Move sched_[gs]etaffinity to plugin_core
13 years ago
Stefan Bühler 905a83fc77 Add plugin hooks for server state machine changes
13 years ago
Stefan Bühler 30ebce774e Add "state-wait" api for server state machine
13 years ago
Thomas Porzelt d18045ccbf [core] Rework throttle code a bit, especially regarding pools
13 years ago
Thomas Porzelt fc09bf9095 [core] Don't allow spaces between integer value and its suffix, was not deterministic
13 years ago
Stefan Bühler 048a7d9144 Append to previous buffer in network reads, save used buffer in custom location
13 years ago
Stefan Bühler 13611b5243 Improve balancer handling
13 years ago
Stefan Bühler 7a63f69133 Add li_sockaddr_dup
13 years ago
Stefan Bühler 2e131dc93f Put pathinfo debug messages into debug-request-handling
13 years ago
Stefan Bühler 33b89d8981 Fix mod_proxy (missing \r\n after request line)
13 years ago
Thomas Porzelt 6a5411c2f1 [plugin_core] Set con->throttle.pool.queued to FALSE after unlinking from queue
13 years ago
Thomas Porzelt 1297a1fab7 [core] Fix crash in throttle pool handling
13 years ago
Stefan Bühler 750bd453a2 Append to previous buffer in network reads
13 years ago
Thomas Porzelt d8f5d21ec6 [core] Check for EV_ERROR in connection event callback
13 years ago
Stefan Bühler 7bb58debcb Fix previous commit: only update io-timeout timestamp after real IO
13 years ago
Stefan Bühler 8cf1033e4a Only update io-timeout timestamp after real IO
13 years ago
Stefan Bühler 954778ff71 Show timeout in mod_status for connections
13 years ago
Stefan Bühler 3c2cef5f0d Handle ETIMEDOUT as connection close
13 years ago
Stefan Bühler fd72f61f68 Update mod_lua docs
13 years ago
Stefan Bühler d70784abd2 Fix mod_status options
13 years ago
Stefan Bühler 64c2fece96 config: add network cidr matching operators, =/ and !=
13 years ago
Stefan Bühler 00ef8599cf Export glib md5/sha1/sha256 hash functions to lua (hex output)
13 years ago
Stefan Bühler 5284ce9cb4 Fix option handling: need another opt_base_index for pointer options
13 years ago
Stefan Bühler 2e4aba7e39 Fix options: missed setting "pointer" options
13 years ago
Stefan Bühler f14103bc2c Split options into two categories: simple (int, bool) and ref-counted pointers
13 years ago
Stefan Bühler 64ba5fddce Cleanup value pointer extractions
13 years ago
Stefan Bühler a545ef6e75 Add mempool_align_page_size implementation for MEMPOOL_MALLOC fallback
13 years ago
Stefan Bühler cdb615293c [autobuild] Fix dependency problem with automake (automake doesn't like it if ../dir/ is cwd)
13 years ago
Stefan Bühler faf2985a79 Use struct sockaddr_storage (in liSockAddr) as base for getsockname/getpeername
13 years ago
Thomas Porzelt 7e44920c50 [mod_vhost] Fix vhost.simple, it checked the physical path instead of docroot
13 years ago
Stefan Bühler 4485ea7563 Fix segfault if trying to convert NULL address to string
13 years ago
Stefan Bühler edd74a0e3c Rename lighttpd to lighttpd2
13 years ago
Stefan Bühler 7768470b10 mod_lua: fix small memleak (free conf->filename)
13 years ago
Thomas Porzelt 15767d97c0 [mod_accesslog] Use li_string_append_int() instead of g_string_append_printf()
13 years ago
Thomas Porzelt 8e3130ecff [mod_accesslog] Implement %D (duration in microseconds) and %T (duration in seconds) format specifiers
13 years ago
Thomas Porzelt 9bd5c39550 [core] Add vr->ts_started struct member, representing the ev_tstamp when the vr has been started
13 years ago
Thomas Porzelt 8716087728 [core] Rename con->ts to con->ts_started
13 years ago
Stefan Bühler 4fd27aca81 autotools: Fix linking
13 years ago
Stefan Bühler 79ae4427f3 autotools: install angel in sbin, support pkglibdir configuration
13 years ago
Stefan Bühler 63eadd22fa Fix buildsystems
13 years ago
Stefan Bühler fe7ddede88 Add lua plugins
13 years ago
Stefan Bühler b4c3e2ba02 Add userdata to action-create, setup and plugin-init callbacks
13 years ago
Stefan Bühler 881669d96a Add lua filters; fixed some lua-api bugs; enhanced lua chunkqueue api
13 years ago
Stefan Bühler 3d50819d14 Move the cqlimit reset/set back to connection.c (vrequest_reset may be called with data in con->raw_in, so cqlimit_reset isn't a good idea)
13 years ago
Stefan Bühler 402c45dc45 Add buffer-on-disk for uploads automatically
13 years ago
Stefan Bühler e92a6e8865 mod_auth: fix is_handled check
13 years ago
Stefan Bühler 130a40e691 mod_auth: Add auth.deny; for user restriction, always send WWW-Authenticate header (this makes the implementation of auth.deny trivial)
13 years ago