From: Elan Ruusamäe Date: Sun, 1 Nov 2009 16:44:14 +0000 (+0000) Subject: - Revision 2686: X-Git-Tag: auto/th/lighttpd-1_4_24-5~1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=d896cce3e2ac2bda2d1a1d8656fec42baa55d819;p=packages%2Flighttpd.git - Revision 2686: - mod_rewrite: fix compile error if compiled without pcre - disable warning "CLOSE-read" (fixes #2091) - mod_rrdtool: fix creating file if it doesn't exist (#1788) Changed files: lighttpd-branch.diff -> 1.62 --- diff --git a/lighttpd-branch.diff b/lighttpd-branch.diff index 0267c3a..6675ec3 100644 --- a/lighttpd-branch.diff +++ b/lighttpd-branch.diff @@ -1,3 +1,284 @@ +# Revision 2686 +Index: src/mod_rewrite.c +=================================================================== +--- src/mod_rewrite.c (.../tags/lighttpd-1.4.24) ++++ src/mod_rewrite.c (.../branches/lighttpd-1.4.x) +@@ -9,10 +9,9 @@ + #include + #include + +-typedef struct { + #ifdef HAVE_PCRE_H ++typedef struct { + pcre *key; +-#endif + + buffer *value; + +@@ -70,7 +69,6 @@ + } + + static int rewrite_rule_buffer_append(rewrite_rule_buffer *kvb, buffer *key, buffer *value, int once) { +-#ifdef HAVE_PCRE_H + size_t i; + const char *errptr; + int erroff; +@@ -109,18 +107,9 @@ + kvb->used++; + + return 0; +-#else +- UNUSED(kvb); +- UNUSED(value); +- UNUSED(once); +- UNUSED(key); +- +- return -1; +-#endif + } + + static void rewrite_rule_buffer_free(rewrite_rule_buffer *kvb) { +-#ifdef HAVE_PCRE_H + size_t i; + + for (i = 0; i < kvb->size; i++) { +@@ -130,7 +119,6 @@ + } + + if (kvb->ptr) free(kvb->ptr); +-#endif + + free(kvb); + } +@@ -201,24 +189,29 @@ + ((data_string *)(da->value->data[j]))->key, + ((data_string *)(da->value->data[j]))->value, + once)) { +-#ifdef HAVE_PCRE_H + log_error_write(srv, __FILE__, __LINE__, "sb", + "pcre-compile failed for", da->value->data[j]->key); +-#else +- log_error_write(srv, __FILE__, __LINE__, "s", +- "pcre support is missing, please install libpcre and the headers"); +-#endif + } + } + } + + return 0; + } ++#else ++static int parse_config_entry(server *srv, array *ca, const char *option) { ++ static int logged_message = 0; ++ if (logged_message) return 0; ++ if (NULL != array_get_element(ca, option)) { ++ logged_message = 1; ++ log_error_write(srv, __FILE__, __LINE__, "s", ++ "pcre support is missing, please install libpcre and the headers"); ++ } ++ return 0; ++} ++#endif + + SETDEFAULTS_FUNC(mod_rewrite_set_defaults) { +- plugin_data *p = p_d; + size_t i = 0; +- + config_values_t cv[] = { + { "url.rewrite-repeat", NULL, T_CONFIG_LOCAL, T_CONFIG_SCOPE_CONNECTION }, /* 0 */ + { "url.rewrite-once", NULL, T_CONFIG_LOCAL, T_CONFIG_SCOPE_CONNECTION }, /* 1 */ +@@ -243,33 +236,37 @@ + { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } + }; + ++#ifdef HAVE_PCRE_H ++ plugin_data *p = p_d; ++ + if (!p) return HANDLER_ERROR; + + /* 0 */ + p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); ++#else ++ UNUSED(p_d); ++#endif + + for (i = 0; i < srv->config_context->used; i++) { +- plugin_config *s; + array *ca; ++#ifdef HAVE_PCRE_H ++ plugin_config *s; + + s = calloc(1, sizeof(plugin_config)); + s->rewrite = rewrite_rule_buffer_init(); + s->rewrite_NF = rewrite_rule_buffer_init(); +- +- cv[0].destination = s->rewrite; +- cv[1].destination = s->rewrite; +- cv[2].destination = s->rewrite_NF; +- cv[3].destination = s->rewrite_NF; +- cv[4].destination = s->rewrite; +- cv[5].destination = s->rewrite; +- + p->config_storage[i] = s; ++#endif ++ + ca = ((data_config *)srv->config_context->data[i])->value; + + if (0 != config_insert_values_global(srv, ca, cv)) { + return HANDLER_ERROR; + } + ++#ifndef HAVE_PCRE_H ++# define parse_config_entry(srv, ca, x, option, y) parse_config_entry(srv, ca, option) ++#endif + parse_config_entry(srv, ca, s->rewrite, "url.rewrite-once", 1); + parse_config_entry(srv, ca, s->rewrite, "url.rewrite-final", 1); + parse_config_entry(srv, ca, s->rewrite_NF, "url.rewrite-if-not-file", 1); +@@ -280,7 +277,9 @@ + + return HANDLER_GO_ON; + } ++ + #ifdef HAVE_PCRE_H ++ + #define PATCH(x) \ + p->conf.x = s->x; + static int mod_rewrite_patch_connection(server *srv, connection *con, plugin_data *p) { +@@ -330,7 +329,7 @@ + + return 0; + } +-#endif ++ + URIHANDLER_FUNC(mod_rewrite_con_reset) { + plugin_data *p = p_d; + +@@ -345,7 +344,6 @@ + } + + static int process_rewrite_rules(server *srv, connection *con, plugin_data *p, rewrite_rule_buffer *kvb) { +-#ifdef HAVE_PCRE_H + size_t i; + handler_ctx *hctx; + +@@ -444,19 +442,11 @@ + } + #undef N + } +-#else +- UNUSED(srv); +- UNUSED(con); +- UNUSED(p); +- UNUSED(hctx); +- UNUSED(kvb); +-#endif + + return HANDLER_GO_ON; + } + + URIHANDLER_FUNC(mod_rewrite_physical) { +-#ifdef HAVE_PCRE_H + plugin_data *p = p_d; + handler_t r; + stat_cache_entry *sce; +@@ -480,17 +470,11 @@ + default: + return r; + } +-#else +- UNUSED(srv); +- UNUSED(con); +- UNUSED(p_d); +-#endif + + return HANDLER_GO_ON; + } + + URIHANDLER_FUNC(mod_rewrite_uri_handler) { +-#ifdef HAVE_PCRE_H + plugin_data *p = p_d; + + mod_rewrite_patch_connection(srv, con, p); +@@ -498,29 +482,27 @@ + if (!p->conf.rewrite) return HANDLER_GO_ON; + + return process_rewrite_rules(srv, con, p, p->conf.rewrite); +-#else +- UNUSED(srv); +- UNUSED(con); +- UNUSED(p_d); +-#endif + + return HANDLER_GO_ON; + } ++#endif + + int mod_rewrite_plugin_init(plugin *p); + int mod_rewrite_plugin_init(plugin *p) { + p->version = LIGHTTPD_VERSION_ID; + p->name = buffer_init_string("rewrite"); + ++#ifdef HAVE_PCRE_H + p->init = mod_rewrite_init; + /* it has to stay _raw as we are matching on uri + querystring + */ + + p->handle_uri_raw = mod_rewrite_uri_handler; + p->handle_physical = mod_rewrite_physical; +- p->set_defaults = mod_rewrite_set_defaults; + p->cleanup = mod_rewrite_free; + p->connection_reset = mod_rewrite_con_reset; ++#endif ++ p->set_defaults = mod_rewrite_set_defaults; + + p->data = NULL; + +Index: src/connections.c +=================================================================== +--- src/connections.c (.../tags/lighttpd-1.4.24) ++++ src/connections.c (.../branches/lighttpd-1.4.x) +@@ -1250,8 +1250,10 @@ + + if (b > 0) { + char buf[1024]; ++#if 0 + log_error_write(srv, __FILE__, __LINE__, "sdd", + "CLOSE-read()", con->fd, b); ++#endif + + /* */ + read(con->fd, buf, sizeof(buf)); +@@ -1621,8 +1623,10 @@ + } + if (b > 0) { + char buf[1024]; ++#if 0 + log_error_write(srv, __FILE__, __LINE__, "sdd", + "CLOSE-read()", con->fd, b); ++#endif + + /* */ + read(con->fd, buf, sizeof(buf)); +Index: src/mod_rrdtool.c +=================================================================== +--- src/mod_rrdtool.c (.../tags/lighttpd-1.4.24) ++++ src/mod_rrdtool.c (.../branches/lighttpd-1.4.x) +@@ -237,11 +237,11 @@ + "not a regular file:", s->path_rrd); + return HANDLER_ERROR; + } +- } + +- /* still create DB if it's empty file */ +- if (st.st_size > 0) { +- return HANDLER_GO_ON; ++ /* still create DB if it's empty file */ ++ if (st.st_size > 0) { ++ return HANDLER_GO_ON; ++ } + } + + /* create a new one */ Index: src/mod_magnet.c =================================================================== --- src/mod_magnet.c (.../tags/lighttpd-1.4.24) @@ -74,7 +355,7 @@ Index: NEWS =================================================================== --- NEWS (.../tags/lighttpd-1.4.24) +++ NEWS (.../branches/lighttpd-1.4.x) -@@ -3,7 +3,11 @@ +@@ -3,7 +3,14 @@ NEWS ==== @@ -82,6 +363,9 @@ Index: NEWS +- 1.4.25 - + * mod_magnet: fix pairs() for normal tables and strings (fixes #1307) + * mod_magnet: add traceback for printing lua errors ++ * mod_rewrite: fix compile error if compiled without pcre ++ * disable warning "CLOSE-read" (fixes #2091) ++ * mod_rrdtool: fix creating file if it doesn't exist (#1788) + +- 1.4.24 - 2009-10-25 * Add T_CONFIG_INT for bigger integers from the config (needed for #1966)