diff options
author | Luca Longinotti <chtekk@gentoo.org> | 2006-09-30 15:18:19 +0000 |
---|---|---|
committer | Luca Longinotti <chtekk@gentoo.org> | 2006-09-30 15:18:19 +0000 |
commit | 1a10aa757739dca3181363e59f01155eb5a24417 (patch) | |
tree | 39d12d3613e342efc2feaf0beea1ae54baa53069 /net-www/mod_limitipconn | |
parent | Fix bug #148099, add amd64 keyword, remove old version. (diff) | |
download | gentoo-2-1a10aa757739dca3181363e59f01155eb5a24417.tar.gz gentoo-2-1a10aa757739dca3181363e59f01155eb5a24417.tar.bz2 gentoo-2-1a10aa757739dca3181363e59f01155eb5a24417.zip |
Fix bug #148099, add amd64 keyword, remove old version.
(Portage version: 2.1.2_pre1)
(Unsigned Manifest commit)
Diffstat (limited to 'net-www/mod_limitipconn')
5 files changed, 12 insertions, 375 deletions
diff --git a/net-www/mod_limitipconn/Manifest b/net-www/mod_limitipconn/Manifest index 7992fb77b6bc..4ff48effec3d 100644 --- a/net-www/mod_limitipconn/Manifest +++ b/net-www/mod_limitipconn/Manifest @@ -2,35 +2,19 @@ AUX 27_mod_limitipconn.conf 635 RMD160 2ced447e4048e2bc762936b611b022fd6337f9f8 MD5 0cd0983e7d8ffe717947d00500245ece files/27_mod_limitipconn.conf 635 RMD160 2ced447e4048e2bc762936b611b022fd6337f9f8 files/27_mod_limitipconn.conf 635 SHA256 fa6dd0d740877f2fb1956d65e683366a4a923eeb842fe943016c50d3e1ebe686 files/27_mod_limitipconn.conf 635 -AUX mod_limitipconn-0.04-local_ip.patch 2235 RMD160 a2cadf33f3fa2cdfb2acb61fbc162519d9529b89 SHA1 93e875dfa062882ac5ef4d6475773364d30ba518 SHA256 2c7e2ec647968c2b356c83f82e131f830bac3279f800657a567ef2d07a87458a -MD5 c893598a5903f5b8b9456f0ac5d4de82 files/mod_limitipconn-0.04-local_ip.patch 2235 -RMD160 a2cadf33f3fa2cdfb2acb61fbc162519d9529b89 files/mod_limitipconn-0.04-local_ip.patch 2235 -SHA256 2c7e2ec647968c2b356c83f82e131f830bac3279f800657a567ef2d07a87458a files/mod_limitipconn-0.04-local_ip.patch 2235 -AUX mod_limitipconn-0.04-vhost.patch 7997 RMD160 6cee2606f8f5fb1428c2b59b0b9d0aa9013d85c6 SHA1 d9f462b70744bd3d9fdf4ff47aa9fe2038c20d97 SHA256 9c8e8e5eda27313866a7e65334fc5247af034e462ee787df15b9279ef62ae23f -MD5 19738f900e2a69c3a3165a23f7c8b122 files/mod_limitipconn-0.04-vhost.patch 7997 -RMD160 6cee2606f8f5fb1428c2b59b0b9d0aa9013d85c6 files/mod_limitipconn-0.04-vhost.patch 7997 -SHA256 9c8e8e5eda27313866a7e65334fc5247af034e462ee787df15b9279ef62ae23f files/mod_limitipconn-0.04-vhost.patch 7997 -DIST mod_limitipconn-0.04.tar.gz 6267 DIST mod_limitipconn-0.22.tar.gz 6333 RMD160 7e62fd51bf837a02a1d42d2b807e03191682ce48 SHA1 b8477f92f1dd63af3153617b924f94ac8e604a7f SHA256 c11e308316f8fe2fb46e365f6b2d4aa389aa220094f7ed8e555853c2734f70b1 -EBUILD mod_limitipconn-0.04.ebuild 838 RMD160 00e0cfee517701870ad0b1e18c0d152f4f965c86 SHA1 03313b92f718a060c2fbe8ce4cd75d29602a27d7 SHA256 8e0c80d19d668e20cdab074ab3192025c0d1902389dc467466d10ebc368d4ffa -MD5 721192730323dd67fbc3245696e72018 mod_limitipconn-0.04.ebuild 838 -RMD160 00e0cfee517701870ad0b1e18c0d152f4f965c86 mod_limitipconn-0.04.ebuild 838 -SHA256 8e0c80d19d668e20cdab074ab3192025c0d1902389dc467466d10ebc368d4ffa mod_limitipconn-0.04.ebuild 838 -EBUILD mod_limitipconn-0.22-r1.ebuild 650 RMD160 de40d0ab6860ebbf398198a16be305f7744ed6a7 SHA1 76b77221fe5db8301e16b802c70f607bb1b6df9e SHA256 80592b192837e4e091569e186583555afb4154e5ba48cc92443580351c4cee6e -MD5 24f887109b63d1b30bf3f93292a1c261 mod_limitipconn-0.22-r1.ebuild 650 -RMD160 de40d0ab6860ebbf398198a16be305f7744ed6a7 mod_limitipconn-0.22-r1.ebuild 650 -SHA256 80592b192837e4e091569e186583555afb4154e5ba48cc92443580351c4cee6e mod_limitipconn-0.22-r1.ebuild 650 -MISC ChangeLog 1882 RMD160 d7b51c9c37051a235ffa55d5939a22304a577449 SHA1 d043f2c85c108c9edaa9d6c9167292914feeddd3 SHA256 c386f5aab1d5dc2bb0fb717cd135a6b717300bab371b2a217e8cb2eec8f8f76b -MD5 329a45fe740f618c1fc968f4eac81d8c ChangeLog 1882 -RMD160 d7b51c9c37051a235ffa55d5939a22304a577449 ChangeLog 1882 -SHA256 c386f5aab1d5dc2bb0fb717cd135a6b717300bab371b2a217e8cb2eec8f8f76b ChangeLog 1882 -MISC metadata.xml 226 RMD160 d11ce73e47adf4b3d91309ec6489fded2f4d4e0e SHA1 fe9f7ce6f2281683065abb3255c8b731665c82ac SHA256 376a327f91f69eb96f0c1b05cc1481dd7017a0570f631a03b1f6d14d58215ca8 -MD5 7272d8b6d09e3e301b6a08aa9c912eb0 metadata.xml 226 -RMD160 d11ce73e47adf4b3d91309ec6489fded2f4d4e0e metadata.xml 226 -SHA256 376a327f91f69eb96f0c1b05cc1481dd7017a0570f631a03b1f6d14d58215ca8 metadata.xml 226 -MD5 6a4297b16078f78a42aee295f0331973 files/digest-mod_limitipconn-0.04 70 -RMD160 fa91979ef1a495a84e0fe026c960e7a105b99b4f files/digest-mod_limitipconn-0.04 70 -SHA256 08d7d9c745d937c064a552cac48077aa0b4307762ebe0c6b0c69417119fc009c files/digest-mod_limitipconn-0.04 70 +EBUILD mod_limitipconn-0.22-r1.ebuild 869 RMD160 3648e40ae857ceebe13b6ae8495df1c343974b26 SHA1 de98c8a6c75ae15d1cae0711451b35329a6ef0ff SHA256 81d913c9fb65bd290a4c5b028090f16df69568783030dc3b5ecd0e0750cb4f24 +MD5 e430b685ba0aeac6e161240157b5523d mod_limitipconn-0.22-r1.ebuild 869 +RMD160 3648e40ae857ceebe13b6ae8495df1c343974b26 mod_limitipconn-0.22-r1.ebuild 869 +SHA256 81d913c9fb65bd290a4c5b028090f16df69568783030dc3b5ecd0e0750cb4f24 mod_limitipconn-0.22-r1.ebuild 869 +MISC ChangeLog 2157 RMD160 325024f1c05e4f3e658d8c692bc71a5f82eb4c6e SHA1 5903ec91daad7abef0ac468f1ecab9ade7da0a5f SHA256 16b959925d08b28e2108c3c845f662247af7121869928f0ebe4edc8497d8ccfe +MD5 e220b6a9c74cffc8c878ac26f02be17c ChangeLog 2157 +RMD160 325024f1c05e4f3e658d8c692bc71a5f82eb4c6e ChangeLog 2157 +SHA256 16b959925d08b28e2108c3c845f662247af7121869928f0ebe4edc8497d8ccfe ChangeLog 2157 +MISC metadata.xml 160 RMD160 a0f6e133e170b7477018d8584c20e8723f6914fa SHA1 a3b9b520ec43ee1f9b1c7b5c5b8745bf84454c03 SHA256 3c312146c4cb5b912d6f56292242ce3a85c629ca98ee7ef0a84ca575708b44fe +MD5 5eede8f5b73ba3c19b1bee203033a5cf metadata.xml 160 +RMD160 a0f6e133e170b7477018d8584c20e8723f6914fa metadata.xml 160 +SHA256 3c312146c4cb5b912d6f56292242ce3a85c629ca98ee7ef0a84ca575708b44fe metadata.xml 160 MD5 77709f6bd89513a3a53e26946c8c37a8 files/digest-mod_limitipconn-0.22-r1 256 RMD160 8baca16bff0d8932a64979284d70ef989addf7f2 files/digest-mod_limitipconn-0.22-r1 256 SHA256 bbc66c211a4d2a512550cadbdaf7706c94e8dbe3d213e995f6d18f54e2b89320 files/digest-mod_limitipconn-0.22-r1 256 diff --git a/net-www/mod_limitipconn/files/digest-mod_limitipconn-0.04 b/net-www/mod_limitipconn/files/digest-mod_limitipconn-0.04 deleted file mode 100644 index d81b1b731a69..000000000000 --- a/net-www/mod_limitipconn/files/digest-mod_limitipconn-0.04 +++ /dev/null @@ -1 +0,0 @@ -MD5 009dac6ccae20806916ec7aa61a42a1f mod_limitipconn-0.04.tar.gz 6267 diff --git a/net-www/mod_limitipconn/files/mod_limitipconn-0.04-local_ip.patch b/net-www/mod_limitipconn/files/mod_limitipconn-0.04-local_ip.patch deleted file mode 100644 index e7aaea7f9865..000000000000 --- a/net-www/mod_limitipconn/files/mod_limitipconn-0.04-local_ip.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- mod_limitipconn.c.org Wed Apr 30 14:57:33 2003 -+++ mod_limitipconn.c Wed Apr 30 15:10:31 2003 -@@ -44,6 +44,8 @@ - checking */ - array_header *excl_limit; /* array of MIME types to limit check; all - other types are exempt */ -+ array_header *local_ip; /* array of local ip exempt from limit -+ checking */ - } limitipconn_dir_config; - - static void *limitipconn_create_dir_config(pool *p, char *path) -@@ -55,6 +57,7 @@ - cfg->limit = 0; - cfg->no_limit = ap_make_array(p, 0, sizeof(char *)); - cfg->excl_limit = ap_make_array(p, 0, sizeof(char *)); -+ cfg->local_ip = ap_make_array(p, 0, sizeof(char *)); - - return (void *) cfg; - } -@@ -68,6 +71,7 @@ - /* convert Apache arrays to normal C arrays */ - char **nolim = (char **) cfg->no_limit->elts; - char **exlim = (char **) cfg->excl_limit->elts; -+ char **localip = (char **) cfg->local_ip->elts; - - const char *address; - -@@ -109,6 +113,15 @@ - return OK; - } - -+ /* Cycle through the local ip list; if the ip is local, -+ * return OK */ -+ for (i = 0; i < cfg->local_ip->nelts; i++) { -+ if ((ap_strcasecmp_match(address, localip[i]) == 0) -+ || (strncmp(localip[i], address, strlen(localip[i])) == 0)) { -+ return OK; -+ } -+ } -+ - /* Cycle through the exempt list; if our content_type is exempt, - * return OK */ - for (i = 0; i < cfg->no_limit->nelts; i++) { -@@ -219,6 +232,16 @@ - return NULL; - } - -+/* Parse the LocalIP directive */ -+static const char *local_ip_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ *(char **) ap_push_array(cfg->local_ip) = ap_pstrdup(parms->pool, arg); -+ return NULL; -+} -+ - /* Array describing structure of configuration directives */ - static command_rec limitipconn_cmds[] = { - {"MaxConnPerIP", limit_config_cmd, NULL, OR_LIMIT, TAKE1, -@@ -227,6 +250,8 @@ - "MIME types for which limit checking is disabled"}, - {"OnlyIPLimit", excl_limit_config_cmd, NULL, OR_LIMIT, ITERATE, - "restrict limit checking to these MIME types only"}, -+ {"LocalIP", local_ip_config_cmd, NULL, OR_LIMIT, ITERATE, -+ "no checking on local IP"}, - {NULL}, - }; - diff --git a/net-www/mod_limitipconn/files/mod_limitipconn-0.04-vhost.patch b/net-www/mod_limitipconn/files/mod_limitipconn-0.04-vhost.patch deleted file mode 100644 index 60ac75775413..000000000000 --- a/net-www/mod_limitipconn/files/mod_limitipconn-0.04-vhost.patch +++ /dev/null @@ -1,248 +0,0 @@ ---- mod_limitipconn.c-localip 2005-02-09 16:29:55.525726056 +0100 -+++ mod_limitipconn.c 2005-02-09 16:31:44.319186936 +0100 -@@ -1,5 +1,6 @@ - /* - * Copyright (C) 2000-2002 David Jao <djao@dominia.org> -+ * "MaxConnPerUid", "MaxConnPerVhost" and "MaxLA*" portions by Maxim Chirkov <mc@tyumen.ru> - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation -@@ -40,6 +41,13 @@ - - typedef struct { - unsigned int limit; /* max number of connections per IP */ -+ -+ unsigned int limit_uid; /* max number of connections per user */ -+ unsigned int limit_vhost; /* max number of connections per virtual host */ -+ double limit_la1; /* maximum value of Load Average for 1 min. */ -+ double limit_la5; /* maximum value of Load Average for 5 min. */ -+ double limit_la15; /* maximum value of Load Average for 15 min. */ -+ - array_header *no_limit; /* array of MIME types exempt from limit - checking */ - array_header *excl_limit; /* array of MIME types to limit check; all -@@ -55,6 +63,11 @@ - - /* default configuration: no limit, and both arrays are empty */ - cfg->limit = 0; -+ cfg->limit_uid = 0; -+ cfg->limit_vhost = 0; -+ cfg->limit_la1 = 0.0; -+ cfg->limit_la5 = 0.0; -+ cfg->limit_la15 = 0.0; - cfg->no_limit = ap_make_array(p, 0, sizeof(char *)); - cfg->excl_limit = ap_make_array(p, 0, sizeof(char *)); - cfg->local_ip = ap_make_array(p, 0, sizeof(char *)); -@@ -75,12 +88,25 @@ - - const char *address; - -+ /* load average */ -+ double current_la[3]; -+ - /* loop index variable */ - int i; - - /* running count of number of connections from this address */ - int ip_count = 0; - -+ /* count of runnung requests for current uid and virtual host*/ -+ int uid_req_count = 0; -+ int vhost_req_count = 0; -+ -+ /* uid of current virtual host */ -+ uid_t current_uid = 0; -+ -+ /* current virtual host id */ -+ char *current_vhost = NULL; -+ - /* Content-type of the current request */ - const char *content_type; - -@@ -108,8 +134,44 @@ - #endif - address = r->connection->remote_ip; - -+#ifdef DEBUG -+ ap_log_error(APLOG_MARK, APLOG_ERR, r->server, "DEBUG: %s handler for requiest uri(%s) args(%s) host(%s) uid(%d)",r->handler, r->uri, r->args, r->server->server_hostname, r->server->server_uid); -+#endif -+ -+ /* Check Load Average overflow */ -+ if (cfg->limit_la1 != 0 || cfg->limit_la5 != 0 || cfg->limit_la15 != 0){ -+ -+ /* Blocking only cgi or php scripts if LA limit exceeded */ -+ /* Handlers: cgi-script perl-script application/x-httpd-php application/x-httpd-cgi */ -+ /* Check for cgi and php in r->uri too simple then r->handler */ -+ if ((r->args != NULL) -+ || (ap_strcasestr(r->uri, "cgi") != NULL) -+ || (ap_strcasestr(r->uri, "php") != NULL)){ -+ -+ if( getloadavg(current_la, 3) != -1 ){ -+ -+ if ((current_la[0] >= cfg->limit_la1) -+ && (current_la[1] >= cfg->limit_la5) -+ && (current_la[2] >= cfg->limit_la15)){ -+ -+ ap_log_error(APLOG_MARK, APLOG_ERR, r->server, "Load Average limit exceeded (%.2f, %.2f, %.2f)", -+ current_la[0], current_la[1], current_la[2]); -+ ap_log_reason("System exceeded LA limit.", r->uri, r); -+ -+ return HTTP_SERVICE_UNAVAILABLE; -+ } -+ } -+ } -+ } -+ -+ /* Get uid of current virual host for future use */ -+ if (r->server->is_virtual){ -+ current_uid = r->server->server_uid; -+ current_vhost = r->server->server_hostname; -+ } -+ - /* A limit value of 0 by convention means no limit. */ -- if (cfg->limit == 0) { -+ if (cfg->limit == 0 && cfg->limit_uid == 0 && cfg->limit_vhost == 0) { - return OK; - } - -@@ -168,6 +230,19 @@ - ) { - ip_count++; - } -+ if ((score_record.vhostrec != NULL) && -+ (score_record.vhostrec->is_virtual)){ -+ -+ if (score_record.vhostrec->server_uid == current_uid){ -+ /* Same user */ -+ uid_req_count++; -+ } -+ if ((cfg->limit_vhost != 0) -+ && (strcmp(score_record.vhostrec->server_hostname, current_vhost) == 0)){ -+ /* Same host name */ -+ vhost_req_count++; -+ } -+ } - break; - case - SERVER_DEAD: -@@ -191,6 +266,14 @@ - ap_table_setn(r->subprocess_env, "LIMITIP", "1"); - /* return 503 */ - return HTTP_SERVICE_UNAVAILABLE; -+ } else if ((uid_req_count > cfg->limit_uid) && (cfg->limit_uid)){ -+ ap_log_error(APLOG_MARK, APLOG_ERR, r->server, "Rejecting vhost=%s, uid=%u", r->server->server_hostname, r->server->server_uid); -+ ap_log_reason("Client exceeded request per user limit.", r->uri, r); -+ return HTTP_SERVICE_UNAVAILABLE; -+ } else if ((vhost_req_count > cfg->limit_vhost) && (cfg->limit_vhost)){ -+ ap_log_error(APLOG_MARK, APLOG_ERR, r->server, "Rejecting vhost=%s, uid=%u", r->server->server_hostname, r->server->server_uid); -+ ap_log_reason("Client exceeded request per vhost limit.", r->uri, r); -+ return HTTP_SERVICE_UNAVAILABLE; - } else { - return OK; - } -@@ -242,6 +325,88 @@ - return NULL; - } - -+/* Parse the MaxConnPerVhost directive */ -+static const char *limit_vhost_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ unsigned long int limit = strtol(arg, (char **) NULL, 10); -+ -+ if (limit == LONG_MAX) { -+ return "Integer overflow or invalid number"; -+ } -+ -+ cfg->limit_vhost = limit; -+ return NULL; -+} -+ -+/* Parse the MaxConnPerUid directive */ -+static const char *limit_uid_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ unsigned long int limit = strtol(arg, (char **) NULL, 10); -+ -+ if (limit == LONG_MAX) { -+ return "Integer overflow or invalid number"; -+ } -+ -+ cfg->limit_uid = limit; -+ return NULL; -+} -+ -+/* Parse the MaxLA1 directive */ -+static const char *limit_la1_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ double limit = strtod(arg, (char **) NULL); -+ -+ if (limit < 0.0) { -+ return "Invalid LA1 value"; -+ } -+ -+ cfg->limit_la1 = limit; -+ return NULL; -+} -+ -+/* Parse the MaxLA5 directive */ -+static const char *limit_la5_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ double limit = strtod(arg, (char **) NULL); -+ -+ if (limit < 0.0) { -+ return "Invalid LA5 value"; -+ } -+ -+ cfg->limit_la5 = limit; -+ return NULL; -+} -+ -+ -+/* Parse the MaxLA15 directive */ -+static const char *limit_la15_config_cmd(cmd_parms *parms, void *mconfig, -+ const char *arg) -+{ -+ limitipconn_dir_config *cfg = (limitipconn_dir_config *) mconfig; -+ -+ double limit = strtod(arg, (char **) NULL); -+ -+ if (limit < 0.0) { -+ return "Invalid LA15 value"; -+ } -+ -+ cfg->limit_la15 = limit; -+ return NULL; -+} -+ -+ - /* Array describing structure of configuration directives */ - static command_rec limitipconn_cmds[] = { - {"MaxConnPerIP", limit_config_cmd, NULL, OR_LIMIT, TAKE1, -@@ -252,6 +417,16 @@ - "restrict limit checking to these MIME types only"}, - {"LocalIP", local_ip_config_cmd, NULL, OR_LIMIT, ITERATE, - "no checking on local IP"}, -+ {"MaxConnPerUid", limit_uid_config_cmd, NULL, OR_LIMIT, TAKE1, -+ "maximum simultaneous connections per user"}, -+ {"MaxConnPerVhost", limit_vhost_config_cmd, NULL, OR_LIMIT, TAKE1, -+ "maximum simultaneous connections per virtual host"}, -+ {"MaxLA1", limit_la1_config_cmd, NULL, OR_LIMIT, TAKE1, -+ "maximum Load Overage value for the past 1 minute"}, -+ {"MaxLA5", limit_la5_config_cmd, NULL, OR_LIMIT, TAKE1, -+ "maximum Load Overage value for the past 5 minutes"}, -+ {"MaxLA15", limit_la15_config_cmd, NULL, OR_LIMIT, TAKE1, -+ "maximum Load Overage value for the past 15 minutes"}, - {NULL}, - }; - diff --git a/net-www/mod_limitipconn/mod_limitipconn-0.04.ebuild b/net-www/mod_limitipconn/mod_limitipconn-0.04.ebuild deleted file mode 100644 index 486cf703da2e..000000000000 --- a/net-www/mod_limitipconn/mod_limitipconn-0.04.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/mod_limitipconn/mod_limitipconn-0.04.ebuild,v 1.2 2005/02/13 17:32:35 hollow Exp $ - -inherit eutils apache-module - -DESCRIPTION="Allows administrators to limit the number of simultaneous downloads permitted" -SRC_URI="http://dominia.org/djao/limit/${P}.tar.gz" -HOMEPAGE="http://dominia.org/djao/limitipconn.html" - -KEYWORDS="~x86 ~ppc" -SLOT="1" -LICENSE="as-is" -IUSE="" - -APACHE1_MOD_CONF="27_${PN}" -APACHE1_MOD_DEFINE="LIMITIPCONN" - -DOCFILES="ChangeLog README" - -need_apache1 - -src_unpack() { - unpack ${A} || die "unpack failed" - cd ${S} || "could not cd to ${S}" - - epatch ${FILESDIR}/${P}-local_ip.patch || "local_ip patch failed" - epatch ${FILESDIR}/${P}-vhost.patch || "vhost patch failed" -} |