summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Campbell <zlg@gentoo.org>2017-01-30 05:09:43 -0800
committerDaniel Campbell <zlg@gentoo.org>2017-01-30 05:10:03 -0800
commitc38a32ae672f32fc1e8d305d9f8204cc40be75a5 (patch)
tree29f704a936348df2f4bbbefbe43c82c16555b59c /www-servers/lighttpd/files
parentapp-admin/ansible: amd64 stable wrt bug #605342 (diff)
downloadgentoo-c38a32ae672f32fc1e8d305d9f8204cc40be75a5.tar.gz
gentoo-c38a32ae672f32fc1e8d305d9f8204cc40be75a5.tar.bz2
gentoo-c38a32ae672f32fc1e8d305d9f8204cc40be75a5.zip
www-servers/lighttpd: Cleanup old <1.4.42
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'www-servers/lighttpd/files')
-rw-r--r--www-servers/lighttpd/files/conf/mod_fastcgi.conf-1.4.13-r217
-rw-r--r--www-servers/lighttpd/files/lighttpd-1.4.29-mod_uploadprogress.patch738
-rw-r--r--www-servers/lighttpd/files/lighttpd-1.4.31-automake-1.12.patch21
-rw-r--r--www-servers/lighttpd/files/lighttpd-1.4.33-fix-ipv6-build.patch21
4 files changed, 0 insertions, 797 deletions
diff --git a/www-servers/lighttpd/files/conf/mod_fastcgi.conf-1.4.13-r2 b/www-servers/lighttpd/files/conf/mod_fastcgi.conf-1.4.13-r2
deleted file mode 100644
index fe1c84fece6b..000000000000
--- a/www-servers/lighttpd/files/conf/mod_fastcgi.conf-1.4.13-r2
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# mod_fastcgi.conf
-# include'd by lighttpd.conf.
-# $Id$
-###############################################################################
-
-server.modules += ("mod_fastcgi")
-fastcgi.server = ( ".php" =>
- ( "localhost" =>
- (
- "socket" => "/var/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket",
- "bin-path" => "/usr/bin/php-cgi"
- )
- )
- )
-
-# vim: set ft=conf foldmethod=marker et :
diff --git a/www-servers/lighttpd/files/lighttpd-1.4.29-mod_uploadprogress.patch b/www-servers/lighttpd/files/lighttpd-1.4.29-mod_uploadprogress.patch
deleted file mode 100644
index c99886af1e7b..000000000000
--- a/www-servers/lighttpd/files/lighttpd-1.4.29-mod_uploadprogress.patch
+++ /dev/null
@@ -1,738 +0,0 @@
-diff -Nru lighttpd-1.4.22.orig/src/connections.c lighttpd-1.4.22/src/connections.c
---- lighttpd-1.4.22.orig/src/connections.c 2009-02-19 14:15:14.000000000 +0100
-+++ lighttpd-1.4.28/src/connections.c 2009-04-22 17:45:20.000000000 +0200
-@@ -1401,11 +1401,15 @@
- if (http_request_parse(srv, con)) {
- /* we have to read some data from the POST request */
-
-+ plugins_call_handle_request_end(srv, con);
-+
- connection_set_state(srv, con, CON_STATE_READ_POST);
-
- break;
- }
-
-+ plugins_call_handle_request_end(srv, con);
-+
- connection_set_state(srv, con, CON_STATE_HANDLE_REQUEST);
-
- break;
-diff -Nru lighttpd-1.4.22.orig/src/Makefile.am lighttpd-1.4.22/src/Makefile.am
---- lighttpd-1.4.22.orig/src/Makefile.am 2009-02-19 14:15:14.000000000 +0100
-+++ lighttpd-1.4.28/src/Makefile.am 2009-04-22 17:46:34.000000000 +0200
-@@ -246,6 +246,11 @@
- mod_accesslog_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
- mod_accesslog_la_LIBADD = $(common_libadd)
-
-+lib_LTLIBRARIES += mod_uploadprogress.la
-+mod_uploadprogress_la_SOURCES = mod_uploadprogress.c
-+mod_uploadprogress_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
-+mod_uploadprogress_la_LIBADD = $(common_libadd)
-+
-
- hdr = server.h buffer.h network.h log.h keyvalue.h \
- response.h request.h fastcgi.h chunk.h \
-diff -Nru lighttpd-1.4.22.orig/src/plugin.c lighttpd-1.4.22/src/plugin.c
---- lighttpd-1.4.22.orig/src/plugin.c 2009-02-19 14:15:14.000000000 +0100
-+++ lighttpd-1.4.28/src/plugin.c 2009-04-22 17:45:20.000000000 +0200
-@@ -34,6 +34,7 @@
- PLUGIN_FUNC_UNSET,
- PLUGIN_FUNC_HANDLE_URI_CLEAN,
- PLUGIN_FUNC_HANDLE_URI_RAW,
-+ PLUGIN_FUNC_HANDLE_REQUEST_END,
- PLUGIN_FUNC_HANDLE_REQUEST_DONE,
- PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE,
- PLUGIN_FUNC_HANDLE_TRIGGER,
-@@ -262,6 +263,7 @@
-
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean)
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw)
-+PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_REQUEST_END, handle_request_end)
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done)
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close)
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_SUBREQUEST, handle_subrequest)
-@@ -389,6 +391,7 @@
-
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean);
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw);
-+ PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_REQUEST_END, handle_request_end);
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done);
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close);
- PLUGIN_TO_SLOT(PLUGIN_FUNC_HANDLE_TRIGGER, handle_trigger);
-diff -Nru lighttpd-1.4.22.orig/src/plugin.h lighttpd-1.4.22/src/plugin.h
---- lighttpd-1.4.22.orig/src/plugin.h 2009-02-19 14:15:14.000000000 +0100
-+++ lighttpd-1.4.28/src/plugin.h 2009-04-22 17:45:20.000000000 +0200
-@@ -42,12 +42,12 @@
- handler_t (* handle_uri_clean) (server *srv, connection *con, void *p_d); /* after uri is set */
- handler_t (* handle_docroot) (server *srv, connection *con, void *p_d); /* getting the document-root */
- handler_t (* handle_physical) (server *srv, connection *con, void *p_d); /* mapping url to physical path */
-+ handler_t (* handle_request_end) (server *srv, connection *con, void *p_d); /* a handler for the request content */
- handler_t (* handle_request_done) (server *srv, connection *con, void *p_d); /* at the end of a request */
- handler_t (* handle_connection_close)(server *srv, connection *con, void *p_d); /* at the end of a connection */
- handler_t (* handle_joblist) (server *srv, connection *con, void *p_d); /* after all events are handled */
-
-
--
- handler_t (* handle_subrequest_start)(server *srv, connection *con, void *p_d);
-
- /* when a handler for the request
-@@ -68,6 +68,7 @@
- handler_t plugins_call_handle_uri_clean(server *srv, connection *con);
- handler_t plugins_call_handle_subrequest_start(server *srv, connection *con);
- handler_t plugins_call_handle_subrequest(server *srv, connection *con);
-+handler_t plugins_call_handle_request_end(server *srv, connection *con);
- handler_t plugins_call_handle_request_done(server *srv, connection *con);
- handler_t plugins_call_handle_docroot(server *srv, connection *con);
- handler_t plugins_call_handle_physical(server *srv, connection *con);
-diff -Nru lighttpd-1.4.22.orig/src/mod_uploadprogress.c lighttpd-1.4.22/src/mod_uploadprogress.c
---- lighttpd-1.4.22.orig/src/mod_uploadprogress.c 1970-01-01 01:00:00.000000000 +0100
-+++ lighttpd-1.4.28/src/mod_uploadprogress.c 2009-04-22 17:32:38.000000000 +0200
-@@ -0,0 +1,648 @@
-+#include <ctype.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#include "base.h"
-+#include "log.h"
-+#include "buffer.h"
-+
-+#include "plugin.h"
-+
-+#include "response.h"
-+#include "stat_cache.h"
-+
-+#define CONFIG_UPLOAD_PROGRESS_URL "upload-progress.progress-url"
-+#define CONFIG_UPLOAD_PROGRESS_TIMEOUT "upload-progress.remove-timeout"
-+#define CONFIG_UPLOAD_PROGRESS_DEBUG "upload-progress.debug"
-+
-+#define SAFE_BUF_STR(x) x && x->ptr ? x->ptr : "(null)"
-+
-+/**
-+ * uploadprogress for lighttpd
-+ *
-+ * Initial: Jan Kneschke <jan@kneschke.de>
-+ * Timeout+Status addon: Bjoern Kalkbrenner <terminar@cyberphoria.org> [20070112]
-+ *
-+ * Ported to Lighttpd 1.4.22 by Radek Senfeld <rush@logic.cz>
-+ *
-+ * Backport based on revision 2369
-+ * http://redmine.lighttpd.net/projects/lighttpd/repository/changes/trunk/src/mod_uploadprogress.c
-+ *
-+ * the timeout is used to keep in the status information intact even if the parent
-+ * connection is gone already
-+ *
-+ */
-+
-+typedef struct {
-+ buffer *tracking_id;
-+ connection *con;
-+
-+ time_t timeout;
-+ int status;
-+ off_t size;
-+} connection_map_entry;
-+
-+typedef struct {
-+ connection_map_entry **ptr;
-+
-+ size_t used;
-+ size_t size;
-+} connection_map;
-+
-+/* plugin config for all request/connections */
-+
-+typedef struct {
-+ buffer *progress_url;
-+ unsigned short debug;
-+ unsigned short remove_timeout;
-+} plugin_config;
-+
-+typedef struct {
-+ PLUGIN_DATA;
-+
-+ connection_map *con_map;
-+
-+ buffer *tmp_buf; /** used as temporary buffer for extracting the tracking id */
-+
-+ plugin_config **config_storage;
-+
-+ plugin_config conf;
-+} plugin_data;
-+
-+/**
-+ *
-+ * connection maps
-+ *
-+ */
-+
-+/* init the plugin data */
-+static connection_map *connection_map_init() {
-+ connection_map *cm;
-+
-+ cm = calloc(1, sizeof(*cm));
-+
-+ return cm;
-+}
-+
-+static void connection_map_free(connection_map *cm) {
-+ size_t i;
-+ for (i = 0; i < cm->size; i++) {
-+ connection_map_entry *cme = cm->ptr[i];
-+
-+ if (!cme) break;
-+
-+ if (cme->tracking_id) {
-+ buffer_free(cme->tracking_id);
-+ }
-+ free(cme);
-+ }
-+
-+ free(cm);
-+}
-+
-+static connection_map_entry *connection_map_insert(connection_map *cm, buffer *tracking_id, connection *con) {
-+ connection_map_entry *cme;
-+ size_t i;
-+
-+ if (cm->size == 0) {
-+ cm->size = 16;
-+ cm->ptr = malloc(cm->size * sizeof(*(cm->ptr)));
-+ for (i = 0; i < cm->size; i++) {
-+ cm->ptr[i] = NULL;
-+ }
-+ } else if (cm->used == cm->size) {
-+ cm->size += 16;
-+ cm->ptr = realloc(cm->ptr, cm->size * sizeof(*(cm->ptr)));
-+ for (i = cm->used; i < cm->size; i++) {
-+ cm->ptr[i] = NULL;
-+ }
-+ }
-+
-+ if (cm->ptr[cm->used]) {
-+ /* is already alloced, just reuse it */
-+ cme = cm->ptr[cm->used];
-+ } else {
-+ cme = malloc(sizeof(*cme));
-+ cme->tracking_id = buffer_init();
-+ }
-+ cme->timeout = 0;
-+ cme->status = 0;
-+ buffer_copy_string_buffer(cme->tracking_id, tracking_id);
-+ cme->con = con;
-+
-+ cm->ptr[cm->used++] = cme;
-+
-+ return cme;
-+}
-+
-+static connection_map_entry *connection_map_get_connection_entry(connection_map *cm, buffer *tracking_id) {
-+ size_t i;
-+
-+ for (i = 0; i < cm->used; i++) {
-+ connection_map_entry *cme = cm->ptr[i];
-+
-+ if (buffer_is_equal(cme->tracking_id, tracking_id)) {
-+ /* found connection */
-+ return cme;
-+ }
-+ }
-+ return NULL;
-+}
-+
-+static void connection_map_remove_connection(connection_map *cm, size_t i) {
-+ connection_map_entry *cme = cm->ptr[i];
-+
-+ buffer_reset(cme->tracking_id);
-+ cme->timeout=0;
-+ cme->status=0;
-+
-+ cm->used--;
-+
-+ /* swap positions with the last entry */
-+ if (cm->used) {
-+ cm->ptr[i] = cm->ptr[cm->used];
-+ cm->ptr[cm->used] = cme;
-+ }
-+}
-+
-+/**
-+ * remove dead tracking IDs
-+ *
-+ * uploadprogress.remove-timeout sets a grace-period in which the
-+ * connection status is still known even of the connection is already
-+ * being removed
-+ *
-+ */
-+static void connection_map_clear_timeout_connections(connection_map *cm) {
-+ size_t i;
-+ time_t now_t = time(NULL);
-+
-+ for (i = 0; i < cm->used; i++) {
-+ connection_map_entry *cme = cm->ptr[i];
-+
-+ if (cme->timeout != 0 && cme->timeout < now_t) {
-+ /* found connection */
-+ connection_map_remove_connection(cm, i);
-+ }
-+ }
-+}
-+
-+/**
-+ * extract the tracking-id from the parameters
-+ *
-+ * for POST requests it is part of the request headers
-+ * for GET requests ... too
-+ */
-+static buffer *get_tracking_id(plugin_data *p, server *srv, connection *con) {
-+ data_string *ds;
-+ buffer *b = NULL;
-+ char *qstr=NULL;
-+ size_t i;
-+
-+ /* the request has to contain a 32byte ID */
-+ if (NULL == (ds = (data_string *)array_get_element(con->request.headers, "X-Progress-ID"))) {
-+ char *amp = NULL;
-+
-+ /* perhaps the POST request is using the querystring to pass the X-Progress-ID */
-+ if (buffer_is_empty(con->uri.query)) {
-+ /*
-+ * con->uri.query will not be parsed out if a 413 error happens
-+ */
-+ if (NULL != (qstr = strchr(con->request.uri->ptr, '?'))) {
-+ /** extract query string from request.uri */
-+ buffer_copy_string(con->uri.query, qstr + 1);
-+ } else {
-+ return NULL;
-+ }
-+ }
-+
-+ /** split the query-string and extract the X-Progress-ID */
-+ do {
-+ char *eq = NULL;
-+ char *start = amp ? amp + 1 : con->uri.query->ptr;
-+
-+ amp = strchr(start, '&');
-+
-+ /* check the string between start and amp for = */
-+
-+ if (amp) {
-+ buffer_copy_string_len(p->tmp_buf, start, amp - start);
-+ } else {
-+ buffer_copy_string(p->tmp_buf, start);
-+ }
-+
-+ eq = strchr(p->tmp_buf->ptr, '=');
-+
-+ if (eq) {
-+ *eq = '\0';
-+
-+ if (0 == strcmp(p->tmp_buf->ptr, "X-Progress-ID")) {
-+ size_t key_len = sizeof("X-Progress-ID") - 1;
-+ size_t var_len = p->tmp_buf->used - 1;
-+ /* found */
-+
-+ buffer_copy_string_len(p->tmp_buf, start + key_len + 1, var_len - key_len - 1);
-+
-+ b = p->tmp_buf;
-+
-+ break;
-+ }
-+ }
-+ } while (amp);
-+
-+ if (!b) return NULL;
-+ } else {
-+ /* request header was found, use it */
-+ b = ds->value;
-+ }
-+
-+ if (b->used != 32 + 1) {
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "sds", "the Progress-ID has to be 32 characters long, got", b->used - 1, "characters");
-+ return NULL;
-+ }
-+
-+ for (i = 0; i < b->used - 1; i++) {
-+ char c = b->ptr[i];
-+
-+ if (!light_isxdigit(c)) {
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "sds", "only hex-digits are allowed (0-9 + a-f): (ascii:", c, ")");
-+ return NULL;
-+ }
-+ }
-+
-+ return b;
-+}
-+
-+/* init the plugin data */
-+INIT_FUNC(mod_uploadprogress_init) {
-+ plugin_data *p;
-+
-+ p = calloc(1, sizeof(*p));
-+
-+ p->con_map = connection_map_init();
-+ p->tmp_buf = buffer_init();
-+
-+ return p;
-+}
-+
-+/* detroy the plugin data */
-+FREE_FUNC(mod_uploadprogress_free) {
-+ plugin_data *p = p_d;
-+
-+ UNUSED(srv);
-+
-+ if (!p) return HANDLER_GO_ON;
-+
-+ if (p->config_storage) {
-+ size_t i;
-+ for (i = 0; i < srv->config_context->used; i++) {
-+ plugin_config *s = p->config_storage[i];
-+
-+ buffer_free(s->progress_url);
-+ s->remove_timeout=0;
-+
-+ free(s);
-+ }
-+ free(p->config_storage);
-+ }
-+
-+ connection_map_free(p->con_map);
-+ buffer_free(p->tmp_buf);
-+
-+ free(p);
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+/* handle plugin config and check values */
-+
-+SETDEFAULTS_FUNC(mod_uploadprogress_set_defaults) {
-+ plugin_data *p = p_d;
-+ size_t i = 0;
-+
-+ config_values_t cv[] = {
-+ { CONFIG_UPLOAD_PROGRESS_URL, NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 0 */
-+ { CONFIG_UPLOAD_PROGRESS_TIMEOUT, NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 1 */
-+ { CONFIG_UPLOAD_PROGRESS_DEBUG, NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 2 */
-+ { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
-+ };
-+
-+ if (!p) return HANDLER_ERROR;
-+
-+ p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *));
-+
-+ for (i = 0; i < srv->config_context->used; i++) {
-+ plugin_config *s;
-+
-+ s = calloc(1, sizeof(plugin_config));
-+ s->progress_url = buffer_init();
-+ s->remove_timeout = 60;
-+ s->debug = 0;
-+
-+ cv[0].destination = s->progress_url;
-+ cv[1].destination = &(s->remove_timeout);
-+ cv[2].destination = &(s->debug);
-+
-+ p->config_storage[i] = s;
-+
-+ if (0 != config_insert_values_global(srv, ((data_config *)srv->config_context->data[i])->value, cv)) {
-+ return HANDLER_ERROR;
-+ }
-+ }
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+#define PATCH_OPTION(x) \
-+ p->conf.x = s->x;
-+static int mod_uploadprogress_patch_connection(server *srv, connection *con, plugin_data *p) {
-+ size_t i, j;
-+ plugin_config *s = p->config_storage[0];
-+
-+ PATCH_OPTION(progress_url);
-+ PATCH_OPTION(remove_timeout);
-+ PATCH_OPTION(debug);
-+
-+ /* skip the first, the global context */
-+ for (i = 1; i < srv->config_context->used; i++) {
-+ data_config *dc = (data_config *)srv->config_context->data[i];
-+ s = p->config_storage[i];
-+
-+ /* condition didn't match */
-+ if (!config_check_cond(srv, con, dc)) continue;
-+
-+ /* merge config */
-+ for (j = 0; j < dc->value->used; j++) {
-+ data_unset *du = dc->value->data[j];
-+
-+ if (buffer_is_equal_string(du->key, CONST_STR_LEN(CONFIG_UPLOAD_PROGRESS_URL))) {
-+ PATCH_OPTION(progress_url);
-+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN(CONFIG_UPLOAD_PROGRESS_TIMEOUT))) {
-+ PATCH_OPTION(remove_timeout);
-+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN(CONFIG_UPLOAD_PROGRESS_DEBUG))) {
-+ PATCH_OPTION(debug);
-+ }
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ *
-+ * the idea:
-+ *
-+ * for the first request we check if it is a post-request
-+ *
-+ * if no, move out, don't care about them
-+ *
-+ * if yes, take the connection structure and register it locally
-+ * in the progress-struct together with an session-id (md5 ... )
-+ *
-+ * if the connections closes, cleanup the entry in the progress-struct
-+ *
-+ * a second request can now get the info about the size of the upload,
-+ * the received bytes
-+ *
-+ */
-+
-+URIHANDLER_FUNC(mod_uploadprogress_uri_handler) {
-+ plugin_data *p = p_d;
-+ buffer *tracking_id;
-+ buffer *b;
-+ connection_map_entry *post_con_entry = NULL;
-+ connection_map_entry *map_con_entry = NULL;
-+
-+ if (buffer_is_empty(con->uri.path)) return HANDLER_GO_ON;
-+
-+ /* no progress URL set, ignore request */
-+ if (buffer_is_empty(p->conf.progress_url)) return HANDLER_GO_ON;
-+
-+ switch(con->request.http_method) {
-+ case HTTP_METHOD_POST:
-+ /**
-+ * a POST request is the UPLOAD itself
-+ *
-+ * get the unique tracker id
-+ */
-+ if (NULL == (tracking_id = get_tracking_id(p, srv, con))) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ if (NULL == (map_con_entry = connection_map_get_connection_entry(p->con_map, tracking_id))) {
-+ connection_map_insert(p->con_map, tracking_id, con);
-+
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "ss", "POST: connection is new, registered:", SAFE_BUF_STR(tracking_id));
-+ } else {
-+ map_con_entry->timeout = 0;
-+ map_con_entry->status = 0;
-+
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "ss", "POST: connection is known, id:", SAFE_BUF_STR(tracking_id));
-+ }
-+
-+ return HANDLER_GO_ON;
-+ case HTTP_METHOD_GET:
-+ /**
-+ * the status request for the current connection
-+ */
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "ssss", "(uploadprogress) urls", SAFE_BUF_STR(con->uri.path), "==", SAFE_BUF_STR(p->conf.progress_url));
-+
-+ if (!buffer_is_equal(con->uri.path, p->conf.progress_url)) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ /* get the tracker id */
-+ if (NULL == (tracking_id = get_tracking_id(p, srv, con))) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ buffer_reset(con->physical.path);
-+
-+ con->file_started = 1;
-+ con->http_status = 200;
-+ con->file_finished = 1;
-+
-+ /* send JSON content */
-+
-+ response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/javascript"));
-+
-+ /* just an attempt the force the IE/proxies to NOT cache the request */
-+ response_header_overwrite(srv, con, CONST_STR_LEN("Pragma"), CONST_STR_LEN("no-cache"));
-+ response_header_overwrite(srv, con, CONST_STR_LEN("Expires"), CONST_STR_LEN("Thu, 19 Nov 1981 08:52:00 GMT"));
-+ response_header_overwrite(srv, con, CONST_STR_LEN("Cache-Control"),
-+ CONST_STR_LEN("no-store, no-cache, must-revalidate, post-check=0, pre-check=0"));
-+
-+ b = chunkqueue_get_append_buffer(con->write_queue);
-+
-+ /* get the connection */
-+ if (NULL == (post_con_entry = connection_map_get_connection_entry(p->con_map, tracking_id))) {
-+ /**
-+ * looks like we don't know the tracking id yet, GET and POST out of sync ? */
-+ buffer_append_string_len(b, CONST_STR_LEN("{ \"state\" : \"unknown\" }\r\n"));
-+ con->response.content_length += b->used - 1;
-+
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "ssss", "connection unknown:", SAFE_BUF_STR(tracking_id), ", sending:", SAFE_BUF_STR(b));
-+
-+ return HANDLER_FINISHED;
-+ }
-+
-+ buffer_copy_string_len(b, CONST_STR_LEN("{ \"state\" : "));
-+
-+ if (post_con_entry->status == 413) {
-+ /* the upload was too large */
-+ buffer_append_string_len(b, CONST_STR_LEN("\"error\", \"status\" : 413"));
-+ } else if (post_con_entry->con == NULL) {
-+ /* the connection is already gone */
-+ buffer_append_string_len(b, CONST_STR_LEN("\"done\", \"size\" : "));
-+ buffer_append_off_t(b, post_con_entry->size);
-+ } else {
-+ /* the upload is already done, but the connection might be still open */
-+ buffer_append_string(b, post_con_entry->con->state == CON_STATE_READ_POST ? "\"uploading\"" : "\"done\"");
-+ buffer_append_string_len(b, CONST_STR_LEN(", \"received\" : "));
-+ buffer_append_off_t(b, post_con_entry->con->bytes_read);
-+ buffer_append_string_len(b, CONST_STR_LEN(", \"size\" : "));
-+ buffer_append_off_t(b, post_con_entry->con->request.content_length);
-+ }
-+ buffer_append_string_len(b, CONST_STR_LEN("}\r\n"));
-+ con->response.content_length += b->used - 1;
-+
-+ if (p->conf.debug) log_error_write(srv, __FILE__, __LINE__, "ssss", "connection is known:", SAFE_BUF_STR(tracking_id), ", sending:", SAFE_BUF_STR(b));
-+
-+ return HANDLER_FINISHED;
-+ default:
-+ break;
-+ }
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+/**
-+ * check for POST request
-+ */
-+CONNECTION_FUNC(mod_uploadprogress_request_end) {
-+ plugin_data *p = p_d;
-+
-+ buffer *tracking_id;
-+ connection_map_entry *map_con_entry = NULL;
-+
-+ UNUSED(srv);
-+
-+ /* no request URL, ignore request */
-+ if (buffer_is_empty(con->request.uri)) return HANDLER_GO_ON;
-+
-+ mod_uploadprogress_patch_connection(srv, con, p);
-+
-+ /*
-+ * we only want to process the upload (POST request)
-+ */
-+ if (con->request.http_method != HTTP_METHOD_POST) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ if (p->conf.debug) {
-+ log_error_write(srv, __FILE__, __LINE__, "sxsdsd", "request_end: con=", (void *) con, ", http_method=", con->request.http_method, ", http_status=", con->http_status);
-+ }
-+
-+ /* get the tracker id */
-+ if (NULL == (tracking_id = get_tracking_id(p, srv, con))) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ if (NULL == (map_con_entry = connection_map_get_connection_entry(p->con_map, tracking_id))) {
-+ /**
-+ * in case the request parser meant the request was too large the URI handler won't
-+ * get called. Insert the connection mapping here
-+ */
-+ if (NULL == (map_con_entry = connection_map_insert(p->con_map, tracking_id, con))) {
-+ return HANDLER_GO_ON;
-+ }
-+ }
-+
-+ /* ok, found our entries, setting status */
-+ map_con_entry->status = con->http_status;
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+/**
-+ * remove the parent connection from the connection mapping
-+ * when it got closed
-+ *
-+ * keep the mapping active for a while to send a valid final status
-+ */
-+CONNECTION_FUNC(mod_uploadprogress_request_done) {
-+ plugin_data *p = p_d;
-+ buffer *tracking_id;
-+ connection_map_entry *cm = NULL;
-+
-+ UNUSED(srv);
-+
-+ if (buffer_is_empty(con->request.uri)) return HANDLER_GO_ON;
-+
-+ /*
-+ * only need to handle the upload request.
-+ */
-+ if (con->request.http_method != HTTP_METHOD_POST) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ if (NULL == (tracking_id = get_tracking_id(p, srv, con))) {
-+ return HANDLER_GO_ON;
-+ }
-+
-+ if (p->conf.debug) {
-+ log_error_write(srv, __FILE__, __LINE__, "sssd", "upload is done, moving tracking-id to backlog: tracking-id=", SAFE_BUF_STR(tracking_id), ", http_status=", con->http_status);
-+ }
-+
-+ /*
-+ * set timeout on the upload's connection_map_entry.
-+ */
-+ if (NULL == (cm = connection_map_get_connection_entry(p->con_map, tracking_id))) {
-+ if (p->conf.debug) {
-+ log_error_write(srv, __FILE__, __LINE__, "sss", "tracking ID", SAFE_BUF_STR(tracking_id), "not found, can't set timeout");
-+ }
-+ return HANDLER_GO_ON;
-+ }
-+
-+ /* save request size to be able to report it even when cm->con == NULL */
-+ cm->size = con->request.content_length;
-+
-+ cm->timeout = time(NULL) + p->conf.remove_timeout;
-+ cm->con = NULL; /* con becomes invalid very soon */
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+/**
-+ * remove dead connections once in while
-+ */
-+TRIGGER_FUNC(mod_uploadprogress_trigger) {
-+ plugin_data *p = p_d;
-+
-+ if ((srv->cur_ts % 10) != 0) return HANDLER_GO_ON;
-+
-+ connection_map_clear_timeout_connections(p->con_map);
-+
-+ return HANDLER_GO_ON;
-+}
-+
-+
-+/* this function is called at dlopen() time and inits the callbacks */
-+
-+int mod_uploadprogress_plugin_init(plugin *p) {
-+ p->version = LIGHTTPD_VERSION_ID;
-+ p->name = buffer_init_string("uploadprogress");
-+
-+ p->init = mod_uploadprogress_init;
-+ p->handle_uri_clean = mod_uploadprogress_uri_handler;
-+ p->handle_request_end = mod_uploadprogress_request_end;
-+ p->handle_request_done = mod_uploadprogress_request_done;
-+// p->connection_reset = mod_uploadprogress_request_done;
-+ p->set_defaults = mod_uploadprogress_set_defaults;
-+ p->cleanup = mod_uploadprogress_free;
-+ p->handle_trigger = mod_uploadprogress_trigger;
-+
-+ p->data = NULL;
-+
-+ return 0;
-+}
diff --git a/www-servers/lighttpd/files/lighttpd-1.4.31-automake-1.12.patch b/www-servers/lighttpd/files/lighttpd-1.4.31-automake-1.12.patch
deleted file mode 100644
index eb3119fa01f7..000000000000
--- a/www-servers/lighttpd/files/lighttpd-1.4.31-automake-1.12.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-http://bugs.gentoo.org/420599
-
---- configure.ac
-+++ configure.ac
-@@ -14,6 +14,8 @@
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
-
- dnl Checks for programs.
-+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
-+
- AC_PROG_CC
- AM_PROG_CC_C_O
- AC_PROG_LD
-@@ -39,7 +41,6 @@
- AC_EXEEXT
-
- dnl more automake stuff
--AM_C_PROTOTYPES
-
- dnl libtool
- AC_DISABLE_STATIC
diff --git a/www-servers/lighttpd/files/lighttpd-1.4.33-fix-ipv6-build.patch b/www-servers/lighttpd/files/lighttpd-1.4.33-fix-ipv6-build.patch
deleted file mode 100644
index 24acc81e8099..000000000000
--- a/www-servers/lighttpd/files/lighttpd-1.4.33-fix-ipv6-build.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Gentoo bug:
-https://bugs.gentoo.org/show_bug.cgi?id=486426
-
-Upstream bug:
-http://redmine.lighttpd.net/issues/2515
-
-Upstream Commit:
-http://redmine.lighttpd.net/projects/lighttpd/repository/revisions/2911
-
-Index: src/mod_extforward.c
-===================================================================
---- src/mod_extforward.c (revision 2909)
-+++ src/mod_extforward.c (working copy)
-@@ -439,7 +439,6 @@
- #ifdef HAVE_IPV6
- ipstr_to_sockaddr(srv, real_remote_addr, &sock);
- #else
-- UNUSED(addrs_left);
- sock.ipv4.sin_addr.s_addr = inet_addr(real_remote_addr);
- sock.plain.sa_family = (sock.ipv4.sin_addr.s_addr == 0xFFFFFFFF) ? AF_UNSPEC : AF_INET;
- #endif