2
0
Fork 0
Commit Graph

555 Commits

Author SHA1 Message Date
Thomas Porzelt 859451afad Fix typo and left-over call to stop a timer 2009-04-16 17:17:48 +02:00
Thomas Porzelt 383fa6a4f5 - introduce throttling via pools, rework throttling by connection
- new actions: 'throttle_pool', 'throttle_connection' and 'status'
- don't start waitqueue timer in waitqueue_init(); start/stop timer on demand
- new parameter for network_write(): write_max
- move stats and timeout handling from network_write/read() to connection_cb()
2009-04-16 17:02:53 +02:00
Stefan Bühler 595ce1fe13 Add wrk in vrequest, s/vr->con->wrk/vr->wrk/, removed some other (broken) usages of vr->con 2009-04-15 12:34:06 +02:00
Stefan Bühler 4e04ac6b8b cmake: use builtin macros for build date 2009-04-15 11:39:21 +02:00
Stefan Bühler 7aaa764f49 Added vrequest_joblist_append_async (with a vrequest-reference handling) 2009-04-14 18:18:25 +02:00
Thomas Porzelt f07f4d4971 [mod_vhost] Fix vhost.pattern again (build physical.path) 2009-04-07 03:55:31 +02:00
Thomas Porzelt d1df9e2274 [mod_vhost] Fix vhost.pattern action 2009-04-07 03:15:47 +02:00
Thomas Porzelt 5ada6b02bd fix possible stop of waitqueue timer through ev_timer_again() when t->repeat = 0; set minimum intervall to 0.01 seconds 2009-04-04 23:40:39 +02:00
Stefan Bühler 194db07279 Use GByteArray in mod_fastcgi 2009-04-03 14:36:41 +02:00
Stefan Bühler 611d7dcac3 Recode the sockaddr handling, fixing some bugs 2009-04-03 14:29:55 +02:00
Stefan Bühler 293fabc963 Replace some uses of GString with GByteArray 2009-04-02 23:46:41 +02:00
Stefan Bühler 6a56aba0c3 Use 2^n-1 in GSring pre-allocations (so glib doesn't alloc 2^(n+1) for 2^n) 2009-04-02 23:19:19 +02:00
Stefan Bühler 02c8be5afd Use prepared string for the local/remote socket address in mod_fastcgi 2009-04-02 22:59:43 +02:00
Stefan Bühler 691939dbdc Rename MEM_CHUNK to STRING_CHUNK and add new MEM_CHUNK with GByteArray as content
- GByteArray doesn't have a terminating zero, so we save memory; especially
   if the real size is 2^n, GString would allocate 2^(n+1) bytes.
2009-04-02 22:35:56 +02:00
Stefan Bühler aee63756a0 Fix bug in ipv6 to string conversion 2009-04-02 22:29:09 +02:00
Thomas Porzelt f44f620eda [modules] add mod_debug 2009-04-01 02:04:23 +02:00
Thomas Porzelt ab9a616f5d optimize ram usage by freeing unused connections 2009-03-28 03:37:41 +01:00
Thomas Porzelt 97db5dab4e reduce amount of preallocated memory in vr->physical struct 2009-03-28 02:19:38 +01:00
Thomas Porzelt 542031e8a3 fix memory leak in response_send_headers() 2009-03-28 02:11:05 +01:00
Thomas Porzelt 9f8413c112 [mod_status] add more info to connection list 2009-03-26 23:39:23 +01:00
Thomas Porzelt 0756c1039f fix previous fix 2009-03-26 23:33:28 +01:00
Thomas Porzelt ac22b5470c fix new fd leak in core_handle_static() 2009-03-26 23:16:41 +01:00
Thomas Porzelt ddb0448a96 rework stat_cache 2009-03-26 23:05:17 +01:00
Stefan Bühler 1c9d95c37a Fix some uninitialized vars bugs in etag.c 2009-03-22 14:45:23 +01:00
Thomas Porzelt a17e3fa44c fix segfault due to ignoring a possible pointer change through realloc in l_g_string_append_int() from utils.c 2009-03-19 17:59:30 +01:00
Thomas Porzelt 5a0462688c fix new statcache leaks in static action 2009-03-18 15:30:13 +01:00
Thomas Porzelt 7dd842229f fix fd leak in static action when 304 is returned 2009-03-18 04:12:51 +01:00
Thomas Porzelt 0e03d1a362 [mod_dirlist] fix new leaks 2009-03-17 20:28:26 +01:00
Thomas Porzelt 2a55d1f693 [waf] add etag.c 2009-03-17 18:30:36 +01:00
Stefan Bühler 384bab3719 Forgot source/header for etag.{c,h} 2009-03-17 18:22:59 +01:00
Stefan Bühler 2995cb5ffa Fix previous commit and static forbidden handling 2009-03-17 14:49:27 +01:00
Stefan Bühler be8e8bb3ea Return 404 if no action handled request
- This should make it really easy to handle static files + backend if not found:
   static; fastcgi "foo";
2009-03-17 14:27:31 +01:00
Stefan Bühler 36ed72910a Remove debug messages 2009-03-17 14:26:10 +01:00
Stefan Bühler a62cdebb91 Fix static file/dirlist handling and add etag support 2009-03-17 14:21:20 +01:00
Stefan Bühler 325ec6a5b6 Add content-length in mod-cache-disk-etag 2009-03-17 14:21:06 +01:00
Stefan Bühler 5484e45e82 Fix some stat_cache bugs 2009-03-17 11:45:44 +01:00
Stefan Bühler b423170266 Rewrite l_g_string_from_int to l_g_string_append_int 2009-03-17 11:44:44 +01:00
Stefan Bühler e020850dc8 Add vrequest_is_handled function 2009-03-17 11:42:50 +01:00
Stefan Bühler 6a92322143 Reduce printf usage in mod_dirlist 2009-03-16 22:27:04 +01:00
Stefan Bühler 041681dc8f Put the for loop in the case statements for the different encodings. 2009-03-16 22:25:38 +01:00
Stefan Bühler 9df3918e9b Add l_g_string_from_int to utils - prints a gint64 to a GString 2009-03-16 22:24:14 +01:00
Stefan Bühler 669ff2e079 Fix mod-status collect handling 2009-03-16 17:53:11 +01:00
Stefan Bühler d7e53a44de Changed collect api: removed fdata_free (wasn't used) and return NULL from collect_start if collect finished before returning. 2009-03-16 17:52:21 +01:00
Stefan Bühler 171ab51db5 Fix segfault in mod_cache_disk_etag if no etag is present 2009-03-16 17:51:52 +01:00
Thomas Porzelt ad80873036 fix counter formatter again... basic algebra fail, *sigh* 2009-03-16 02:52:01 +01:00
Thomas Porzelt 634b77abf5 fix status code for failed stat() in core_handle_static() 2009-03-16 00:37:46 +01:00
Thomas Porzelt 030e3cebf2 fix counter format output again 2009-03-16 00:32:46 +01:00
Thomas Porzelt 3629e1aebf [mod_status] add scoreboard 2009-03-14 01:58:24 +01:00
Thomas Porzelt 4dc8c81569 fix counter format output with COUNTER_TIME and value 0 2009-03-14 01:40:58 +01:00
Thomas Porzelt a9c75934a8 change counter format output 2009-03-13 23:16:21 +01:00
Thomas Porzelt 963564be72 remove 'test' action 2009-03-13 22:43:23 +01:00
Thomas Porzelt b93c0c3f85 fix updating of io timeout 2009-03-13 14:40:57 +01:00
Thomas Porzelt f9ca699307 add waitqueue_length() 2009-03-13 01:54:26 +01:00
Stefan Bühler bedcc3d46a Added mod_cache_disk_etag: caches produced content on disk and checks for it via etag. 2009-03-12 21:08:27 +01:00
Stefan Bühler 12b421b9a9 Don't block fastcgi if limit on input queue is hit 2009-03-11 21:16:30 +01:00
Thomas Porzelt d696e0e0f7 fix memory leak in stat cache 2009-03-11 17:34:40 +01:00
Stefan Bühler 158f42aa0f Add support for filters 2009-03-11 16:57:07 +01:00
Stefan Bühler 764ce8335b Disable keep-alive if server was stopped 2009-03-11 15:43:19 +01:00
Thomas Porzelt 4f44b332c7 fix memory leak in stat cache when connection was closed abruptly 2009-03-11 00:22:53 +01:00
Thomas Porzelt 3137f19ce5 [mod_dirlist] add hide-directories, exclude-prefix and exclude-suffix parameter 2009-03-08 16:47:27 +01:00
Thomas Porzelt 7d88ae2e73 [utils] add l_g_string_prefix() and l_g_string_suffix() 2009-03-08 16:45:50 +01:00
Thomas Porzelt 7bd421e79e fix comment in mod_dirlist 2009-03-07 00:28:48 +01:00
Stefan Bühler 6e747478d4 Fix ISO C90 decl/code mixing 2009-03-07 00:08:49 +01:00
Stefan Bühler 7f344029eb Fix stat-cache race condition 2009-03-07 00:08:07 +01:00
Stefan Bühler a616f477a8 [cmake] add mod_dirlistc and encoding.c 2009-03-07 00:07:00 +01:00
Thomas Porzelt f056e1ccd9 slighty more detailed debug output in plugin_core 2009-03-06 21:11:16 +01:00
Thomas Porzelt 0c01dd91d3 add debug parameter for dirlist action in mod_dirlist 2009-03-06 19:26:47 +01:00
Thomas Porzelt 4b8cbba24b fix mem leak in log.write action 2009-03-06 19:19:36 +01:00
Thomas Porzelt a874e682c7 fix mem leak in mod_dirlist 2009-03-06 18:55:00 +01:00
Thomas Porzelt 8afe9aff3d fix mem leak in core_module_load() 2009-03-06 18:52:48 +01:00
Thomas Porzelt a01815421c fix mem leak in stat_cache_free() 2009-03-06 18:50:03 +01:00
Thomas Porzelt 30ff4619fa forgot mod_dirlist.c 2009-03-06 18:18:13 +01:00
Thomas Porzelt 9561fa6cae add mod_dirlist 2009-03-06 17:28:09 +01:00
Thomas Porzelt 0719779fd2 add ENCODING_URI to encoding functions 2009-03-06 17:25:46 +01:00
Thomas Porzelt 39581f9b2c remove debug print form plugin_core 2009-03-06 17:22:52 +01:00
Thomas Porzelt 3fa72fd250 fix dirlisting in stat cache 2009-03-06 17:22:14 +01:00
Thomas Porzelt a888c34dbb add encoding functions 2009-03-05 00:19:55 +01:00
Thomas Porzelt d5ec193b04 exclude . and .. entries from stat cache dirlisting 2009-03-04 19:46:30 +01:00
Thomas Porzelt 047bb1f0bd small stat_cache fix 2009-03-04 03:44:45 +01:00
Thomas Porzelt 4d2cf580df add stat_cach_get_dir() to get directory listing; add stat_cache.ttl setup 2009-03-04 02:54:38 +01:00
Thomas Porzelt 9a23f4465d add dirent_buf_size() to utils 2009-03-04 02:48:55 +01:00
Thomas Porzelt 741332ccf6 fix underflow in usage of cqlimit_update() 2009-03-03 20:16:48 +01:00
Thomas Porzelt 5ca2b5e1d4 rename limit.* actions to buffer.* 2009-03-02 01:16:22 +01:00
Stefan Bühler d8d8c8ea1b Disable cqlimit debug, fixed some more bugs with cqlimit. 2009-03-02 01:02:21 +01:00
Stefan Bühler 98a36e970a Change mod_fastcgi to not wait for complete packets (enables limits < 64kbyte); fix some limit handling. 2009-03-02 00:49:02 +01:00
Stefan Bühler 767ad93e83 [cmake] add stat_cache.c 2009-03-01 21:27:46 +01:00
Stefan Bühler 72b911767e Fix rev 345: l_g_string_assign_len 2009-03-01 21:27:34 +01:00
Stefan Bühler 2f9e612c99 Use chunkqueue-limit (setup in plugin_core) 2009-03-01 21:23:24 +01:00
Stefan Bühler 6ebc331215 Implement l_g_string_assign_len() 2009-03-01 21:22:15 +01:00
Stefan Bühler 39ecfa89e5 Add chunkqueue-limit framework 2009-03-01 17:28:01 +01:00
Thomas Porzelt efab0ca75d implement stat cache 2009-03-01 21:16:58 +01:00
Stefan Bühler 78bb13b61c Fix action_reset (backend_failed) 2009-03-01 17:16:58 +01:00
Stefan Bühler b033f0c194 Extended sockaddr_to_string for use in connect-failed error message in mod_fastcgi 2009-03-01 17:15:52 +01:00
Stefan Bühler 050d0d60d6 Fix cast warning (char* -> unsigned char*) in mod_fastcgi 2009-03-01 15:54:19 +01:00
Stefan Bühler c584da22db Handle environment vars in mod_fastcgi 2009-02-15 18:59:30 +01:00
Stefan Bühler 95fee3059b Add handling for environment vars in backends 2009-02-15 18:55:27 +01:00
Thomas Porzelt 1ebe6dc37d fix small mistake in mod_vhost.c example config comment 2009-02-14 22:52:32 +01:00
Thomas Porzelt cb4741c56d fix little typo in mod_fastcgi.c comment 2009-02-12 23:03:52 +01:00
Thomas Porzelt 9b785c567a add vhost.pattern (1.x evhost like functionality) to mod_vhost 2009-02-11 23:38:45 +01:00
Stefan Bühler 5c797977c6 Add stderr log support in mod_fastcgi (split lines from backend in log.c) 2009-02-03 15:25:14 +01:00
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