2
0
Fork 0
Commit Graph

555 Commits

Author SHA1 Message Date
Thomas Porzelt 159a03f19b fix typo in mod_vhost 2009-01-29 17:38:02 +01:00
Thomas Porzelt 79d9c63087 redirect requests for directories without trailing slash to uri with trailing slash 2009-01-29 17:36:30 +01:00
Thomas Porzelt d24e602713 increase default io timeout from 30s to 300s 2009-01-29 15:19:41 +01:00
Stefan Bühler 0eef3d7ee8 Use nonblocking sockets 2009-01-29 15:14:55 +01:00
Stefan Bühler d29565a211 Split chunkiter_read into simple read() and mmap() with fallback read(); _mmap() may result in SIGBUS (e.g. truncated file) later. 2009-01-28 15:40:57 +01:00
Thomas Porzelt bc92b6fdcc add vhost.map action to mod_vhost 2009-01-25 02:40:28 +01:00
Stefan Bühler c7c1c5cb0e [cmake] Add mod_vhost 2009-01-13 21:32:13 +01:00
Stefan Bühler 2708d6deaa Fix handling request content and 100-continue 2009-01-13 21:31:02 +01:00
Stefan Bühler a91d5e96b9 Allow more characters in url 2009-01-13 13:48:03 +01:00
Thomas Porzelt 13f749aa74 along comes mod_vhost 2009-01-12 01:20:06 +01:00
Thomas Porzelt f0c66a793c revert previous commit. it was stupid. 2009-01-12 01:02:39 +01:00
Thomas Porzelt 9186488bbf fix docroot action (don't set physical.path) 2009-01-12 00:24:27 +01:00
Thomas Porzelt 1cb3075ed6 fix bogus action context cleanup in mod_status 2009-01-11 04:13:49 +01:00
Stefan Bühler f983caccde Fix reading of lua tables 2009-01-10 15:59:54 +01:00
Stefan Bühler 3477543277 Fix fastcgi packet reading 2009-01-10 15:50:04 +01:00
Stefan Bühler 428b4b524f Fix unix socket path 2009-01-10 15:22:35 +01:00
Stefan Bühler 1e115c522d Add unix sockets 2009-01-10 15:09:42 +01:00
Stefan Bühler 4a8ce0a63f Redo boolean conditionals (physical.*) as real actions. 2009-01-10 14:46:11 +01:00
Stefan Bühler 587ee27cd0 Added response parser and used it in mod_fastcgi 2009-01-10 13:30:58 +01:00
Stefan Bühler 99f14078ec Add reminder for chunked handling/content-length header. 2009-01-09 21:45:19 +01:00
Stefan Bühler 4a5aa5361e Added/fixed chunked encoded transfer 2009-01-09 21:42:42 +01:00
Thomas Porzelt 70a495de6f fix ev_tstamp vs. time_t problems in worker_current_timestamp() 2009-01-09 21:32:49 +01:00
Stefan Bühler 00869413ee Fix sending endless "FCGI_STDIN" closed events 2009-01-09 21:21:18 +01:00
Stefan Bühler 31acd354a7 [cmake] Add mod_accesslog 2009-01-09 21:17:45 +01:00
Thomas Porzelt 7766bd8c34 save errno of stat() in request.physical struct to prevent repeated stat()s if failed 2009-01-08 00:26:30 +01:00
Thomas Porzelt 688c2b6204 add %t format specifier to mod_accesslog (no %{format}t support yet) 2009-01-07 23:37:15 +01:00
Thomas Porzelt 549f097ea1 fix worker_current_timestamp() caching 2009-01-07 23:36:17 +01:00
Thomas Porzelt fe90de88be implement %b (bytes response), %B (bytes response clf) and %X (connection status) in mod_accesslog 2009-01-07 21:50:07 +01:00
Thomas Porzelt 6f69d58fec forgot g_array_set_size() after g_array_sized_new()... duh! 2009-01-07 21:26:55 +01:00
Thomas Porzelt 52bcd62d74 fix small leaks 2009-01-07 21:11:06 +01:00
Thomas Porzelt 93bd5e2a6a add additional paramter format_ndx to worker_current_timestamp() 2009-01-07 20:59:51 +01:00
Thomas Porzelt c6d422e5c1 add log.write function action to core plugin 2009-01-07 00:01:20 +01:00
Thomas Porzelt eb794b1dbc fix %v placeholder in mod_accesslog 2009-01-06 23:44:39 +01:00
Thomas Porzelt 4c49705c16 add missing http version to %r placeholder in mod_accesslog 2009-01-06 23:25:15 +01:00
Thomas Porzelt 2fb007bd3d add http_version_string() to utils 2009-01-06 23:25:07 +01:00
Thomas Porzelt 3d058707b1 add mod_accesslog 2009-01-06 22:31:20 +01:00
Thomas Porzelt d2cadb3b1e add option server.name 2009-01-06 22:30:38 +01:00
Thomas Porzelt 85a3a4d091 added "if" to condition syntax (if req.path == "/foo" {})
added boolean conditions without operator or rvalue (if phys.is_dir {}, rvalue is always true)
added negated boolean conditions (if !phys.is_dir {}, rvalue is always false)
added physical.is_dir and .is_file conditionals
2009-01-06 01:33:20 +01:00
Thomas Porzelt 01068d7f1d make docroot a function action instead of setting, add stat member to vr.physical and enable physical.size conditional 2009-01-05 22:24:54 +01:00
Thomas Porzelt 2489fbfbfe fix small typo in config_parser.rl that prevented usaged of physical.* conditionals 2009-01-05 22:14:47 +01:00
Stefan Bühler d9ddd4fd3d Remove out-of-fd-handling. 2009-01-04 23:14:08 +01:00
Stefan Bühler 5feea39ae6 Remove '-Wmissing-prototypes' from extra warnings list
- we still have '-Wmissing-declarations', which allows
   void func() instead of void func(void).
2009-01-04 22:38:24 +01:00
Stefan Bühler 54fd1b08e4 Cleanup some state machine handling 2009-01-04 21:59:56 +01:00
Thomas Porzelt 825b809b06 fix compile flags for modules in wscript 2009-01-02 22:07:52 +01:00
Thomas Porzelt bf549bbe0d add check for sizeof(off_t) to MODULE_VERSION_CHECK() 2009-01-02 22:04:36 +01:00
Thomas Porzelt 55dd7e3060 add environment.c, mod_fastcgi and --extra-warnings to wscript 2009-01-01 17:47:23 +01:00
Stefan Bühler c458377d4a Added mod_fastcgi, some api functions for it, and some new optional compiler warnings (which led to many small changes) 2009-01-01 16:44:42 +01:00
Stefan Bühler c56ade056f Add vrequest "environment" (a GString -> GString hashtable) 2008-12-31 16:23:00 +01:00
Stefan Bühler d30e1b018a Added some backend/balancer helper, fixed backend-error handling. 2008-12-31 14:36:24 +01:00
Thomas Porzelt 0d56b1b7b4 add mod_balancer to wscript 2008-12-31 03:25:54 +01:00
Stefan Bühler 6636919623 Completed core balancer support, added a simple test balancer. 2008-12-31 02:57:27 +01:00
Thomas Porzelt fa25947b7e allow anonymous blocks in config parser prefixed by $ (for now) 2008-12-31 02:54:42 +01:00
Thomas Porzelt 66f7e669dd add log level "backend" 2008-12-31 02:50:32 +01:00
Stefan Bühler 025f0b5f84 Removed HANDLER_FINISHED, implemented real job queue and added some basic balancer structs 2008-12-30 21:55:00 +01:00
Stefan Bühler 20dfff0663 Cleanup log macros (moved from con to vrequest) 2008-12-30 14:24:33 +01:00
Stefan Bühler c24704dad5 Move options from connection to vrequest 2008-12-30 01:21:03 +01:00
Thomas Porzelt 5f9d9c12a3 remove old, now invalid free in core_list() 2008-12-29 17:02:14 +01:00
Thomas Porzelt 52d5978d64 export module_lookup() 2008-12-26 23:53:52 +01:00
Thomas Porzelt 23a246a788 add angel.c and angel_fake.c to wscript 2008-12-26 19:52:14 +01:00
Stefan Bühler eae5ca994e Enforce IPV6_V6ONLY for ipv6 sockets 2008-12-22 23:06:23 +01:00
Stefan Bühler e8e60b3a04 Add clean ipv6+port parsing for listen() 2008-12-22 22:48:47 +01:00
Stefan Bühler bb59776ea3 Handle errno in angel_fake_log 2008-12-22 17:03:43 +01:00
Stefan Bühler 324224fe2e Implemented two angel "fake" functions 2008-12-20 16:25:02 +01:00
Stefan Bühler 9d2b053659 [lua config] Add support for "." separated actions/setups 2008-12-11 01:39:25 +01:00
Stefan Bühler 2e830e5517 [cmake] Add support for plugins 2008-12-11 01:39:10 +01:00
Thomas Porzelt 3ffa1c40bb fix mod_status handling of error case 2008-12-10 21:14:50 +01:00
Thomas Porzelt fa52e5361b move vrequest_reset() up in connection_reset() so options and addr are still valid when invoking action context cleanup callbacks 2008-12-10 21:13:08 +01:00
Thomas Porzelt 52c3c2e042 update mod_fortune and mod_status for new action context 2008-12-10 17:33:36 +01:00
Thomas Porzelt 20e0a9e4e8 add http_method_string() to utils 2008-12-10 16:36:38 +01:00
Stefan Bühler 4a02223f7c Added per-action context 2008-12-10 00:23:27 +01:00
Stefan Bühler f74d274589 Add other compare operators to lua frontend 2008-12-09 22:38:55 +01:00
Stefan Bühler e438fb58ab Fix "notequal" string comparison bug 2008-12-09 22:38:37 +01:00
Stefan Bühler 4ef644de88 Fix cmake ipv6 detection 2008-12-09 21:30:37 +01:00
Thomas Porzelt 736d8c6192 add server.max_keep_alive_requests option 2008-12-07 21:46:29 +01:00
Thomas Porzelt d3bfcf9d15 add special chars in strings through \n \" etc. to config parser 2008-12-07 01:36:38 +01:00
Thomas Porzelt 58cf85f5d1 remove old log stuff 2008-12-02 15:58:06 +01:00
Thomas Porzelt 4e876d4153 remove unnecessary \n from VR_TRACE() in core_handle_static() 2008-12-02 00:50:30 +01:00
Thomas Porzelt 096e7667be add LIGHTTPD_REVISION define and output for -v when compiling from bzr (only waf for now) 2008-11-25 15:56:12 +01:00
Thomas Porzelt d8874eab5f removed unused vars from network_write.c 2008-11-23 22:26:23 +01:00
Thomas Porzelt be8836a57c remove old statistics code from network_write.c 2008-11-23 22:09:51 +01:00
Thomas Porzelt 7582742257 remove connection from throttle queue when resetting 2008-11-23 18:23:45 +01:00
Thomas Porzelt d5e7aa94a5 fix waitqueue 2008-11-23 18:23:05 +01:00
Thomas Porzelt 865aea2ce0 prevent double decrement of wrk->connection_load and active connections 2008-11-23 18:21:45 +01:00
Thomas Porzelt 928b8d52c1 update waf to 1.5, rewrite wscripts 2008-11-21 00:31:44 +01:00
Thomas Porzelt 304263f4a1 fix warnings from plugin_core.c 2008-11-20 16:40:36 +01:00
Thomas Porzelt 24c7423376 add temporary hack to disable sched_setaffinity when OS != linux 2008-11-20 03:17:50 +01:00
Thomas Porzelt 031b6b54c7 add check for HAVE_IPV6 to sockaddr_to_string() 2008-11-20 03:15:40 +01:00
Thomas Porzelt 2df4d9686b fix wrong parameter con instead of new vr in network.c when USE_SENDFILE not defined 2008-11-20 00:16:57 +01:00
Thomas Porzelt 0994052566 fix wrong placement of #endif in condition.c => broken code when HAVE_IPV6 not defined 2008-11-20 00:13:51 +01:00
Stefan Bühler 2040c059d1 Fix connection/network_write state machine 2008-11-18 11:14:57 +01:00
Stefan Bühler 7a496b610b Fix comment style // -> /* */ 2008-11-18 11:03:59 +01:00
Thomas Porzelt 1954f46a03 return NETWORK_STATUS_WAIT_FOR_AIO_EVENT instead of NETWORK_STATUS_WAIT_FOR_EVENT when throttling 2008-11-17 23:08:55 +01:00
Stefan Bühler 06225998c6 Fix typos in sendfile (again) 2008-11-17 21:50:03 +01:00
Stefan Bühler ec16ebea3c Fix typos in sendfile 2008-11-17 21:42:52 +01:00
Stefan Bühler 99733ef5a7 Add OS X sendfile implementation (and fix the freebsd one) 2008-11-17 20:54:19 +01:00
Stefan Bühler 94b4dcc764 Generic sendfile implementation (supports linux,solaris and freebsd now) 2008-11-17 20:23:16 +01:00
Stefan Bühler 91d4868ef4 Move stats and throttle to network.c 2008-11-17 19:26:41 +01:00
Stefan Bühler fae25515fa Split waitqueue from utils 2008-11-17 10:26:25 +01:00
Stefan Bühler 463d1c6435 Fix modules and waf for new include dir 2008-11-16 22:16:52 +01:00
Stefan Bühler 6c573e5e00 Check for POSIX_FADV_SEQUENTIAL before using it 2008-11-16 22:06:28 +01:00
Stefan Bühler 3dceeb5916 Move include files into a separate directory and cleanup include order 2008-11-16 21:33:53 +01:00
Thomas Porzelt 358b9f95f1 implement throttling, change some time_t to ev_tstamp 2008-11-12 22:16:52 +01:00
Thomas Porzelt e9f8b51452 add LOG_TYPE_NONE that doesn't log anything 2008-11-12 17:38:32 +01:00
Thomas Porzelt a2a0818cb4 remove cast to time_t in CUR_TS() makro. it caused some deviation 2008-11-12 02:11:43 +01:00
Thomas Porzelt d56e5c2ea9 implement waitqueues (utils), change connection io timeouts to use those 2008-11-12 02:09:52 +01:00
Thomas Porzelt 8161336538 add fallback static action if built-in cfg parser used 2008-11-10 22:48:13 +01:00
Thomas Porzelt b491e91c68 add io timeouts 2008-11-10 15:39:03 +01:00
Thomas Porzelt abb7bc1067 fix segfault when no host header in request 2008-11-10 02:16:02 +01:00
Thomas Porzelt 64e823f83a use g_mutex instead of g_static_mutex in profiler.c 2008-11-03 15:21:46 +01:00
Thomas Porzelt bfad826aa5 fix small memleak in worker_add_closing_socket() 2008-11-03 15:20:49 +01:00
Thomas Porzelt 67f89abffc add mod_status 2008-11-03 15:19:23 +01:00
Thomas Porzelt 0a63fc8058 add client addr string and traffic stats for connections and workers 2008-11-03 15:18:46 +01:00
Thomas Porzelt 2538f522ec add sockaddr_to_string() and counter_format2() to utils.c 2008-11-03 15:10:25 +01:00
Thomas Porzelt 245cecb1e2 add srv->started (timestamp) and srv->started_str (formatted ts) 2008-11-03 14:33:07 +01:00
Thomas Porzelt 1d133a52ed add missing free if -m option specified 2008-11-02 12:58:39 +01:00
Stefan Bühler 649f7baf78 Modify header usage; include all core headers from base.h and forbid direct including of core headers. Move typedefs into separate header. 2008-10-28 22:11:50 +01:00
Thomas Porzelt bdce397e70 get rid of global vars in mod_fortune 2008-10-27 20:12:52 +01:00
Thomas Porzelt 84fb6a5574 add missing call to p->free() in plugin_free 2008-10-27 20:12:48 +01:00
Stefan Bühler 7954e0f8d3 Modify vrequest_error 2008-10-27 17:49:06 +01:00
Thomas Porzelt 9b2773750e update mod_fortune for virtual request code, readd to wscript 2008-10-26 13:33:02 +01:00
Thomas Porzelt f4725264de add virtualrequest.c to wscript, temporarily remove mod_fortune 2008-10-25 19:51:30 +02:00
Stefan Bühler b83e3a29ce Fix vrequest merge 2008-10-25 18:01:02 +02:00
Stefan Bühler 73fff068c3 Merge virtual requests 2008-10-25 15:25:02 +02:00
Stefan Bühler 566cbdb024 virtual requests; they replace a big part from connection. 2008-10-25 14:53:57 +02:00
Stefan Bühler 9430770903 [cmake] Add module support 2008-10-25 14:48:12 +02:00
Stefan Bühler 4b24952c02 Change cmake required version to 2.6.0 2008-10-25 13:45:41 +02:00
Thomas Porzelt 5c564c7c0a added srv->started_str, small fix in server_free() 2008-10-24 17:50:39 +02:00
Thomas Porzelt d7bfbde1fc removeleft over testing code from mod_fortune 2008-10-23 18:23:13 +02:00
Thomas Porzelt 616180e9ac add mod_fortune 2008-10-22 17:11:32 +02:00
Thomas Porzelt 59fdb03ee0 implement loading of modules 2008-10-22 16:54:44 +02:00
Thomas Porzelt bbb3c8c69d improved profiler (hashfunc and free-list) 2008-10-18 19:28:37 +02:00
Thomas Porzelt 24777f99d7 tiny race fix for profiler_free(); added profiler_dump_table() 2008-10-18 00:42:34 +02:00
Thomas Porzelt eb73fe1651 changed profiler from glib to own implementation that doesn't leak all the memory... 2008-10-18 00:06:06 +02:00
Thomas Porzelt b5f2442d5f added profile_mem action that dumps memory stats to stdout, enable with LIGHTY_PROFILE_MEM=true env var 2008-10-17 18:08:40 +02:00
Thomas Porzelt ed347d2f0c small memory fix in log.c 2008-10-17 18:07:38 +02:00
Thomas Porzelt 5933f9b3c5 use value_list_free() in core_header_free() from plugin_core.c 2008-10-04 20:00:10 +02:00
Thomas Porzelt 2ac5c5c0a5 fix http_header_append and http_header_overwrite 2008-10-04 03:31:17 +02:00
Thomas Porzelt 5dde1fafb5 add header_add, _append and _overwrite actions to plugin_core 2008-10-04 03:21:31 +02:00
Thomas Porzelt 29bf342675 fix erronous free when no configfile specified 2008-10-03 02:27:42 +02:00
Thomas Porzelt 20956e757e add mimetype info to static action 2008-10-03 01:50:47 +02:00
Thomas Porzelt 24f4a86576 added 'log' option parser error handling 2008-10-03 00:59:59 +02:00
Thomas Porzelt d7b17a7746 add 'docroot' option, remove 'physical' action 2008-10-03 00:52:46 +02:00
Thomas Porzelt 29c962fe06 add mime_types option and mimetype_get() function 2008-10-02 21:46:06 +02:00
Thomas Porzelt 107798b883 better http_status_to_str() 2008-10-02 17:43:05 +02:00
Thomas Porzelt 34281b50f1 send proper error pages 2008-10-02 17:38:57 +02:00
Thomas Porzelt eb5aa9d9d4 fix and comment ip hashing functions 2008-10-02 02:37:36 +02:00
Thomas Porzelt 21c391da66 ipv4 and ipv6 hashing functions 2008-10-02 02:33:51 +02:00
Thomas Porzelt f23b051c30 moved freeing of value after parsing in plugin_set_default_option(); made that function static 2008-10-02 00:13:07 +02:00
Thomas Porzelt 472e7a81a9 changed srv->option_def_values to GArray and intialization of default values; enabled overriding of default values in config parser 2008-10-01 22:20:31 +02:00
Thomas Porzelt 604042b24c fixed segfault in server_free() if workers are not allocated yet; removed virtualrequest.h include from base.h 2008-09-30 20:26:21 +02:00
Stefan Bühler 36b0ae3628 Move request parser data into connection struct 2008-09-29 17:07:53 +02:00
Stefan Bühler 7cd0b2aaf6 Revert: Add refcount to http headers 2008-09-29 15:46:58 +02:00
Stefan Bühler de6996268f Add refcount to http headers 2008-09-29 13:02:30 +02:00
Thomas Porzelt 5150637e13 implemented port feature for listen setup; small memleak und config parser fixes 2008-09-27 17:06:43 +02:00
Stefan Bühler e1504a252f free value always from the calling function 2008-09-27 12:45:43 +02:00
Stefan Bühler d6b28e47aa Fix segfault if config parser failed 2008-09-27 12:44:04 +02:00
Thomas Porzelt 480de71283 small memleak fix 2008-09-27 00:37:50 +02:00
Thomas Porzelt 5e1ebf3c05 fixed small leak (config_path parameter) 2008-09-27 00:17:19 +02:00
Thomas Porzelt 30bae997eb moved log cleanups to own function; fixed memleaks in config parser and plugin_core 2008-09-27 00:09:12 +02:00
Stefan Bühler 5d27591a49 Fix return TRUE in a void function 2008-09-26 18:06:24 +02:00
Stefan Bühler 34c513c645 Fix waf wscript for the renamed files 2008-09-26 18:06:07 +02:00
Stefan Bühler c54a085552 Implement clean default values for options 2008-09-26 17:09:30 +02:00
Stefan Bühler 5d0d12c0bd Updated cmake ragel rules to build config parser with -T0 instead of -T1 2008-09-26 16:17:04 +02:00
Stefan Bühler 091f122aad Renamed option -> value, some other minor/related renames; added option_value as
datatype for the value of options (union for ptr/gin64)
2008-09-26 16:11:08 +02:00
Stefan Bühler a88ca5238c Add the "collect" framework, which collects results from a function executed in each worker context 2008-09-26 10:36:36 +02:00
Stefan Bühler 3c00360259 log requests/sec stats per worker 2008-09-25 22:49:32 +02:00
Stefan Bühler a17aa92250 Move stats into worker 2008-09-25 16:59:09 +02:00
Thomas Porzelt 593b0d1427 fixed wrong comment in worker.h 2008-09-25 00:02:16 +02:00
Thomas Porzelt 5a1acd8be9 reworked parts of config_parser 2008-09-25 00:00:23 +02:00
Thomas Porzelt 9ba30eccbd moved string_destroy_notify() from base.c to utils.c, fixed parameter definition 2008-09-24 23:55:20 +02:00
Thomas Porzelt 1faaf71de4 added option_to_string() 2008-09-24 23:50:38 +02:00
Thomas Porzelt 292d013134 reworked logging functions; added 'log' and 'log.timestamp' options, removed 'log.level' and 'log.target' options 2008-09-24 23:43:22 +02:00
Thomas Porzelt 6fe8eb603d fixed missing \r\n after response headers 2008-09-24 22:07:00 +02:00
Stefan Bühler 721cb88985 Kill some memleaks 2008-09-24 20:02:47 +02:00
Stefan Bühler 00143835d4 Move the connection tables into the workers, so no locking needed for them. 2008-09-24 18:59:49 +02:00
Stefan Bühler 2b9147ba50 Fix missing ':' after case EWOULDBLOCK 2008-09-23 13:09:07 +02:00
Stefan Bühler bca094fe9f Add cmake support 2008-09-18 09:32:44 +02:00
Stefan Bühler bfd20c2662 Add missing includes for open/fcntl 2008-09-18 09:14:57 +02:00
Stefan Bühler e87e6a9a58 Fix indentation in wscript 2008-09-18 09:14:39 +02:00
Stefan Bühler ac1f66ee1d Fix pcre 2008-09-18 09:13:32 +02:00
Thomas Porzelt 623e10d7a0 added missing insert into hashtable for logs, removed lock from log_free_unlocked() 2008-09-10 00:07:42 +02:00
Stefan Bühler 14cb73e80b Set cpu affinity 2008-09-09 20:47:10 +02:00
Stefan Bühler 267b0bf6fc shutdown sockets immediatly if srv->exiting is true 2008-09-09 18:09:20 +02:00
Stefan Bühler 45849a4864 Add error reporting if ev_loop creation fails. 2008-09-09 18:08:45 +02:00
Stefan Bühler c62f8f7945 Add more atomic protection 2008-09-09 18:03:18 +02:00
Stefan Bühler 58351b5ff0 Clean libev loops 2008-09-09 17:27:37 +02:00
Stefan Bühler dbc9859ce8 Use atomic refcount operations 2008-09-09 16:41:02 +02:00
Stefan Bühler 47c0acf4c2 Changed header implementation from hash-table to double linked list 2008-09-09 16:38:40 +02:00
Stefan Bühler f5cf939d5a Added "workers(x)" setup function 2008-09-09 11:31:08 +02:00
Stefan Bühler 0a4230cced Added basic notify + locking for workers 2008-09-09 02:22:21 +02:00
Stefan Bühler ee59334e9d Only send regular files with static handler 2008-09-08 02:28:55 +02:00
Stefan Bühler 798085f860 Fix some segfaults and add cleanup for worker split 2008-09-08 02:25:55 +02:00
Stefan Bühler 0fe9176d6f Splitted worker from server; removed "server *srv" from most function which also have "connection *con" 2008-09-08 02:20:55 +02:00
Stefan Bühler dbd9218150 Silence strict-alias warning again with redefining some macros 2008-09-07 15:33:11 +02:00
Stefan Bühler ecd1082378 Remove "my_ev_init" as we now have -fno-strict-aliasing; workaround was stupid anyway. Move static ev_signal vars into server struct. 2008-09-02 20:30:39 +02:00
Stefan Bühler e15193447d Fix cleanup of target_else in conditional action, added support for else branch in "when" action. 2008-08-27 16:39:30 +02:00
Thomas Porzelt cf51355d1c fixed else/elseif in config parser 2008-08-27 00:57:51 +02:00
Thomas Porzelt 1371d4e49f added else/elseif to config parser; uses new target_else member of action->value.condition 2008-08-26 23:53:54 +02:00
Thomas Porzelt 8649ce6cfe changed option default value assignment to callbacks 2008-08-22 20:51:25 +02:00
Stefan Bühler 577928e8eb Fix double con_put in server_free 2008-08-18 16:43:55 +02:00
Stefan Bühler 475300d1aa Fix keep-alive again (missing cleanup) 2008-08-17 22:12:44 +02:00
Stefan Bühler 491b7880cb Fix keep-alive idle. 2008-08-17 21:27:09 +02:00
Stefan Bühler 486f64bd7d Added keep-alive and dead state for connection, added timeout for keep-alive.
With "server.max-keep-alive-idle" = 5 (default) you get O(1), other values need O(log n)
2008-08-17 18:24:09 +02:00
Stefan Bühler 7bdce8aeb4 Added action/condition to option_copy 2008-08-17 14:12:03 +02:00
Thomas Porzelt d3547c5318 added option_copy(); fixed variable statements in config parser where assignments without parser func lead to OPTION_NONE options 2008-08-17 02:28:57 +02:00
Thomas Porzelt ccaacfb285 added 'blank' function to plugin_core 2008-08-17 00:23:52 +02:00
Thomas Porzelt 6804b1df00 implemented default values for options 2008-08-15 20:38:20 +02:00
Thomas Porzelt c5fb96870c added event_handler setup; added srv->loop_flags; moved loop initialization to server_loop_init(); added ev_backend_string() to utils.c 2008-08-15 18:21:21 +02:00
Thomas Porzelt 3caab6a860 added server.tag option 2008-08-15 17:17:04 +02:00
Thomas Porzelt c1bc3b8e0a small cleanup in config parser; small fix in log.c 2008-08-14 15:52:45 +02:00
Stefan Bühler 179021ca18 Fix memleak in writev backend 2008-08-14 15:02:24 +02:00
Thomas Porzelt 1ab2d0d6b3 small change to config parser: comment now included in noise set 2008-08-14 01:08:03 +02:00
Thomas Porzelt 4d55315487 added first counters 2008-08-14 01:05:15 +02:00
Thomas Porzelt c2b8ccdec4 changed operators ^= to =^ and $= to =$; introduced clean and ./waf 2008-08-13 22:26:45 +02:00
Thomas Porzelt aeba5c0080 merged from sandbox 2008-08-13 22:11:10 +02:00
Thomas Porzelt f795f2463a added ^= (prefix match) and $= (suffix match) operators 2008-08-13 22:10:20 +02:00
Stefan Bühler 5a1970e5d1 Add write as fallback for sendfile 2008-08-13 21:58:23 +02:00
Thomas Porzelt bb44fceb64 fixed invalid free in server.c 2008-08-13 21:56:01 +02:00
Thomas Porzelt 34b9edaa02 fixed invalid free in server.c 2008-08-13 21:55:47 +02:00
Stefan Bühler 1bc8c85266 * replace strerror with g_strerror, kill errno from logging
* starting chunked encoding filter
* network write cleanup + sendfile backend (default for now)
2008-08-13 21:50:07 +02:00
Thomas Porzelt 89d3b204a7 added header conditional check for normal config parser 2008-08-13 20:08:13 +02:00
Thomas Porzelt d234e396f8 merged from lp 2008-08-13 19:58:01 +02:00
Thomas Porzelt 1901397a0e minor enhencements; added log.level and log.target options 2008-08-13 19:57:19 +02:00
Stefan Bühler 85c4f3852b Fix hostname parsing. 2008-08-13 19:52:57 +02:00
Thomas Porzelt df16145d05 added http_status_string() function; response.c now includes the right status string 2008-08-13 02:18:35 +02:00
Thomas Porzelt 1798e226ff fixed fd initialization warning with -O2 in log.c 2008-08-12 19:34:11 +02:00
Thomas Porzelt ef9b96e552 fixed chunkqueue segfault with NULL filename 2008-08-12 19:04:55 +02:00
Thomas Porzelt e93d1ef301 merged from lp 2008-08-12 17:15:15 +02:00
Thomas Porzelt b1000d2ca4 config parser intial working version; test action in core plugin with more outpot 2008-08-12 17:09:05 +02:00
Thomas Porzelt 6467329144 merged from lp 2008-08-11 17:38:02 +02:00
Stefan Bühler 9d7d19c456 Fix hostname checking 2008-08-10 21:31:56 +02:00
Stefan Bühler 0d4b5ee989 Fix mmap offset calculation in chunk.c 2008-08-09 22:11:52 +02:00
Thomas Porzelt b0615d2198 merged from lp 2008-08-09 19:19:18 +02:00
Stefan Bühler a863b6f7e9 Added url/authority parsing, enabled simple static() action. 2008-08-09 17:20:12 +02:00
Stefan Bühler 754ee742b2 Start splitting network backends, added writev and TCP_CORK 2008-08-09 13:51:06 +02:00
Thomas Porzelt 2d08b0b823 small changes 2008-08-09 01:55:07 +02:00
Stefan Bühler 066d0f5342 Added plugin callbacks for content and close handling 2008-08-08 19:44:54 +02:00
Stefan Bühler 6d6fc095ab Fix typo in connections.c 2008-08-08 19:34:00 +02:00
Stefan Bühler 124e21ee7d Add 100-Continue handling 2008-08-08 19:12:36 +02:00
Stefan Bühler 6dcfc736c2 Add missing plugin_core.h for core options 2008-08-08 18:51:27 +02:00
Stefan Bühler b8e3535546 Enabled options, moved some initializing 2008-08-08 18:49:00 +02:00
Stefan Bühler 5fc77ca27a Fix 64-bit signed/unsigned compare warning. 2008-08-08 13:57:27 +02:00
Stefan Bühler 8de2c27ec6 Fix some bugs/warnings. 2008-08-07 22:52:53 +02:00
Stefan Bühler 2546ce9259 Use ev_now for current timestamp, clean usage of shutdown (wait for eof before close) 2008-08-07 16:50:36 +02:00
Stefan Bühler 4a9ed5e8a3 Disable test binary 2008-08-07 16:49:44 +02:00
Stefan Bühler 03458817cc Updated TODO hints 2008-08-07 14:12:51 +02:00
Thomas Porzelt 3964ce82b7 merged from lp 2008-08-07 13:02:27 +02:00
Stefan Bühler 1ed36c93b9 Handle write errors (fixes ab keep-alive problems) 2008-08-07 02:25:02 +02:00
Stefan Bühler 76dcab54fc Capture SIGINT, SIGTERM and SIGPIPE. 2008-08-07 02:23:23 +02:00
Stefan Bühler 3b4e8f6f8d Add some request header checks. 2008-08-07 01:44:09 +02:00