===================================================================
Index: src/configfile-glue.c
===================================================================
---- src/configfile-glue.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/configfile-glue.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/configfile-glue.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/configfile-glue.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -341,6 +341,10 @@
}
break;
case COMP_HTTP_URL:
l = con->uri.path;
break;
+Index: src/base.h
+===================================================================
+--- src/base.h (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/base.h (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -515,6 +515,7 @@
+ #ifdef USE_OPENSSL
+ SSL_CTX *ssl_ctx;
+ #endif
++ unsigned short is_proxy_ssl;
+ } server_socket;
+
+ typedef struct {
Index: src/array.h
===================================================================
---- src/array.h (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/array.h (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/array.h (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/array.h (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -90,6 +90,7 @@
COMP_HTTP_COOKIE,
COMP_HTTP_REMOTEIP,
} comp_key_t;
Index: src/mod_staticfile.c
===================================================================
---- src/mod_staticfile.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/mod_staticfile.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/mod_staticfile.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_staticfile.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -483,8 +483,24 @@
/* if the value is the same as our ETag, we do a Range-request,
* otherwise a full 200 */
Index: src/mod_scgi.c
===================================================================
---- src/mod_scgi.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/mod_scgi.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/mod_scgi.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_scgi.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -2694,8 +2694,9 @@
if (s_len < ct_len) continue;
break;
Index: src/response.c
===================================================================
---- src/response.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/response.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/response.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/response.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -59,7 +59,8 @@
ds = (data_string *)con->response.headers->data[i];
config_patch_connection(srv, con, COMP_HTTP_REFERER); /* Referer: */
Index: src/mod_proxy.c
===================================================================
---- src/mod_proxy.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/mod_proxy.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/mod_proxy.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_proxy.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1093,15 +1093,17 @@
if (s_len < ct_len) continue;
} else if (0 == strncmp(fn->ptr + s_len - ct_len, extension->key->ptr, ct_len)) {
/* check extension in the form ".fcg" */
break;
+Index: src/mod_extforward.c
+===================================================================
+--- src/mod_extforward.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_extforward.c (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -379,9 +379,15 @@
+
+ if (real_remote_addr != NULL) { /* parsed */
+ sock_addr sock;
+-
+ struct addrinfo *addrs_left;
++ server_socket *srv_sock = con->srv_socket;
++ data_string *forwarded_proto = (data_string *) array_get_element(con->request.headers,"X-Forwarded-Proto");
+
++ if (forwarded_proto && !strcmp(forwarded_proto->value->ptr, "https"))
++ srv_sock->is_proxy_ssl = 1;
++ else
++ srv_sock->is_proxy_ssl = 0;
++
+ if (con->conf.log_request_handling) {
+ log_error_write(srv, __FILE__, __LINE__, "ss",
+ "using address:", real_remote_addr);
Index: src/Makefile.am
===================================================================
---- src/Makefile.am (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/Makefile.am (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/Makefile.am (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/Makefile.am (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -281,4 +281,4 @@
#ajp_SOURCES = ajp.c
+EXTRA_DIST = mod_skeleton.c configparser.y mod_ssi_exprparser.y lempar.c SConscript
Index: src/configparser.y
===================================================================
---- src/configparser.y (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/configparser.y (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/configparser.y (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/configparser.y (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -422,6 +422,7 @@
{ COMP_HTTP_COOKIE, CONST_STR_LEN("HTTP[\"cookie\"]" ) },
{ COMP_HTTP_REMOTEIP, CONST_STR_LEN("HTTP[\"remoteip\"]" ) },
{ COMP_UNSET, NULL, 0 },
};
size_t i;
+Index: src/mod_status.c
+===================================================================
+--- src/mod_status.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_status.c (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -560,6 +560,8 @@
+ double avg;
+ time_t ts;
+ char buf[32];
++ unsigned int k;
++ unsigned int l;
+
+ b = chunkqueue_get_append_buffer(con->write_queue);
+
+@@ -588,6 +590,22 @@
+ buffer_append_long(b, srv->conns->used);
+ BUFFER_APPEND_STRING_CONST(b, "\n");
+
++ BUFFER_APPEND_STRING_CONST(b, "IdleServers: ");
++ buffer_append_long(b, srv->conns->size - srv->conns->used);
++ BUFFER_APPEND_STRING_CONST(b, "\n");
++
++ /* output scoreboard */
++ BUFFER_APPEND_STRING_CONST(b, "Scoreboard: ");
++ for (k = 0; k < srv->conns->used; k++) {
++ connection *c = srv->conns->ptr[k];
++ const char *state = connection_get_short_state(c->state);
++ buffer_append_string_len(b, state, 1);
++ }
++ for (l = 0; l < srv->conns->size - srv->conns->used; l++) {
++ BUFFER_APPEND_STRING_CONST(b, "_");
++ }
++ BUFFER_APPEND_STRING_CONST(b, "\n");
++
+ /* set text/plain output */
+
+ response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/plain"));
+Index: src/mod_ssi.c
+===================================================================
+--- src/mod_ssi.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_ssi.c (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -36,6 +36,11 @@
+ #include <sys/filio.h>
+ #endif
+
++#include "etag.h"
++
++/* The newest modified time of included files for include statement */
++static volatile time_t include_file_last_mtime = 0;
++
+ /* init the plugin data */
+ INIT_FUNC(mod_ssi_init) {
+ plugin_data *p;
+@@ -575,6 +580,11 @@
+ break;
+ case SSI_INCLUDE:
+ chunkqueue_append_file(con->write_queue, p->stat_fn, 0, st.st_size);
++
++ /* Keep the newest mtime of included files */
++ if (st.st_mtime > include_file_last_mtime)
++ include_file_last_mtime = st.st_mtime;
++
+ break;
+ }
+ } else {
+@@ -912,6 +922,9 @@
+ build_ssi_cgi_vars(srv, con, p);
+ p->if_is_false = 0;
+
++ /* Reset the modified time of included files */
++ include_file_last_mtime = 0;
++
+ if (-1 == stream_open(&s, con->physical.path)) {
+ log_error_write(srv, __FILE__, __LINE__, "sb",
+ "stream-open: ", con->physical.path);
+@@ -1010,6 +1023,30 @@
+
+ response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/html"));
+
++ {
++ /* Generate "ETag" & "Last-Modified" headers */
++
++ stat_cache_entry *sce = NULL;
++ time_t lm_time = 0;
++ buffer *mtime = NULL;
++
++ stat_cache_get_entry(srv, con, con->physical.path, &sce);
++
++ etag_mutate(con->physical.etag, sce->etag);
++ response_header_overwrite(srv, con, CONST_STR_LEN("ETag"), CONST_BUF_LEN(con->physical.etag));
++
++ if (sce->st.st_mtime > include_file_last_mtime)
++ lm_time = sce->st.st_mtime;
++ else
++ lm_time = include_file_last_mtime;
++
++ mtime = strftime_cache_get(srv, lm_time);
++ response_header_overwrite(srv, con, CONST_STR_LEN("Last-Modified"), CONST_BUF_LEN(mtime));
++ }
++
++ /* Reset the modified time of included files */
++ include_file_last_mtime = 0;
++
+ /* reset physical.path */
+ buffer_reset(con->physical.path);
+
Index: src/spawn-fcgi.c
===================================================================
---- src/spawn-fcgi.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/spawn-fcgi.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/spawn-fcgi.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/spawn-fcgi.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -37,7 +37,7 @@
#endif
int main() {
Index: src/mod_auth.c
===================================================================
---- src/mod_auth.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/mod_auth.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/mod_auth.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_auth.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -238,13 +238,13 @@
int auth_type_len = auth_realm - http_authorization;
con->http_status = 400;
Index: src/mod_fastcgi.c
===================================================================
---- src/mod_fastcgi.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/mod_fastcgi.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/mod_fastcgi.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/mod_fastcgi.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -162,8 +162,8 @@
* if host is one of the local IP adresses the
* whole connection is local
buffer_append_string(proc->connection_name, ":");
buffer_append_long(proc->connection_name, proc->port);
}
-@@ -2530,15 +2542,28 @@
+@@ -2045,13 +2057,10 @@
+ s = get_http_version_name(con->request.http_version);
+ FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_PROTOCOL"), s, strlen(s)),con)
+
+-#ifdef USE_OPENSSL
+- if (srv_sock->is_ssl) {
++ if (srv_sock->is_ssl || srv_sock->is_proxy_ssl) {
+ FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("HTTPS"), CONST_STR_LEN("on")),con)
+ }
+-#endif
+
+-
+ FCGI_ENV_ADD_CHECK(fcgi_env_add_request_headers(srv, con, p), con);
+
+ fcgi_header(&(header), FCGI_PARAMS, request_id, p->fcgi_env->used, 0);
+@@ -2530,15 +2539,28 @@
}
if (host->allow_xsendfile &&
}
}
-@@ -2719,9 +2744,14 @@
+@@ -2719,9 +2741,14 @@
int ret;
log_error_write(srv, __FILE__, __LINE__, "sxddd",
"write-req: error",
host,
-@@ -3456,8 +3486,9 @@
+@@ -3456,8 +3483,9 @@
if (s_len < ct_len) continue;
/* check extension in the form "/fcgi_pattern" */
} else if (0 == strncmp(fn->ptr + s_len - ct_len, extension->key->ptr, ct_len)) {
/* check extension in the form ".fcg" */
break;
-@@ -3473,7 +3504,7 @@
+@@ -3473,7 +3501,7 @@
for (k = 0; k < extension->used; k++) {
host = extension->hosts[k];
Index: src/server.c
===================================================================
---- src/server.c (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ src/server.c (.../branches/lighttpd-1.4.x) (revision 2043)
+--- src/server.c (.../tags/lighttpd-1.4.18) (revision 2054)
++++ src/server.c (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -759,6 +759,19 @@
return -1;
setuid(pwd->pw_uid);
}
#endif
+@@ -891,6 +896,17 @@
+ pid_fd = -1;
+ }
+
++ // Close stderr ASAP in the child process to make sure that nothing
++ // is being written to that fd which may not be valid anymore.
++ if (-1 == log_error_open(srv)) {
++ log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
++
++ plugins_free(srv);
++ network_close(srv);
++ server_free(srv);
++ return -1;
++ }
++
+ if (HANDLER_GO_ON != plugins_call_set_defaults(srv)) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "Configuration of plugins failed. Going down.");
+
+@@ -941,15 +957,7 @@
+ return -1;
+ }
+
+- if (-1 == log_error_open(srv)) {
+- log_error_write(srv, __FILE__, __LINE__, "s",
+- "opening errorlog failed, dying");
+
+- plugins_free(srv);
+- network_close(srv);
+- server_free(srv);
+- return -1;
+- }
+
+
+ #ifdef HAVE_SIGACTION
Index: tests/mod-access.t
===================================================================
---- tests/mod-access.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-access.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-access.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-access.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-auth.t
===================================================================
---- tests/mod-auth.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-auth.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-auth.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-auth.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,14 +1,14 @@
#!/usr/bin/env perl
BEGIN {
===================================================================
Index: tests/core-response.t
===================================================================
---- tests/core-response.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-response.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-response.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-response.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,10 +1,9 @@
#!/usr/bin/env perl
-
}
use strict;
+Index: tests/mod-extforward.conf
+===================================================================
+--- tests/mod-extforward.conf (.../tags/lighttpd-1.4.18) (revision 0)
++++ tests/mod-extforward.conf (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -0,0 +1,30 @@
++debug.log-request-handling = "enable"
++debug.log-response-header = "enable"
++debug.log-request-header = "enable"
++
++server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
++server.pid-file = env.SRCDIR + "/tmp/lighttpd/lighttpd.pid"
++
++## bind to port (default: 80)
++server.port = 2048
++
++## bind to localhost (default: all interfaces)
++server.bind = "localhost"
++server.errorlog = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.error.log"
++server.name = "www.example.org"
++server.tag = "Apache 1.3.29"
++
++server.modules = (
++ "mod_cgi",
++ "mod_extforward"
++)
++
++######################## MODULE CONFIG ############################
++
++mimetype.assign = ( ".html" => "text/html" )
++
++cgi.assign = (".pl" => "/usr/bin/perl" )
++
++extforward.forwarder = (
++ "127.0.0.1" => "trust",
++)
Index: tests/symlink.t
===================================================================
Index: tests/request.t
===================================================================
---- tests/request.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/request.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/request.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/request.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-userdir.t
===================================================================
---- tests/mod-userdir.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-userdir.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-userdir.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-userdir.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/core-keepalive.t
===================================================================
---- tests/core-keepalive.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-keepalive.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-keepalive.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-keepalive.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,10 +1,9 @@
#!/usr/bin/env perl
-
}
use strict;
-Index: tests/env-variables.t
-===================================================================
Index: tests/mod-proxy.t
===================================================================
+Index: tests/env-variables.t
+===================================================================
Index: tests/core-var-include.t
===================================================================
---- tests/core-var-include.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-var-include.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-var-include.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-var-include.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
}
use strict;
+Index: tests/mod-extforward.t
+===================================================================
+--- tests/mod-extforward.t (.../tags/lighttpd-1.4.18) (revision 0)
++++ tests/mod-extforward.t (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -0,0 +1,41 @@
++#!/usr/bin/env perl
++BEGIN {
++ # add current source dir to the include-path
++ # we need this for make distcheck
++ (my $srcdir = $0) =~ s,/[^/]+$,/,;
++ unshift @INC, $srcdir;
++}
++
++use strict;
++use IO::Socket;
++use Test::More tests => 2;
++use LightyTest;
++
++my $tf = LightyTest->new();
++my $t;
++
++$tf->{CONFIGFILE} = 'mod-extforward.conf';
++
++ok($tf->start_proc == 0, "Starting lighttpd") or die();
++
++## check if If-Modified-Since, If-None-Match works
++
++$t->{REQUEST} = ( <<EOF
++GET /ip.pl HTTP/1.0
++Host: www.example.org
++X-Forwarded-For: 127.0.10.1
++EOF
++);
++$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'HTTP-Content' => '127.0.10.1' } ];
++ok($tf->handle_http($t) == 0, 'expect 127.0.10.1');
++
++$t->{REQUEST} = ( <<EOF
++GET /ip.pl HTTP/1.0
++Host: www.example.org
++X-Forwarded-For: 127.0.10.1, 127.0.20.1
++EOF
++);
++$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'HTTP-Content' => '127.0.20.1' } ];
++ok($tf->handle_http($t) == 0, 'expect 127.0.20.1');
++
++ok($tf->stop_proc == 0, "Stopping lighttpd");
+
+Property changes on: tests/mod-extforward.t
+___________________________________________________________________
+Name: svn:executable
+ + *
+
Index: tests/core-request.t
===================================================================
---- tests/core-request.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-request.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-request.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-request.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-redirect.t
===================================================================
---- tests/mod-redirect.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-redirect.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-redirect.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-redirect.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-cgi.t
===================================================================
---- tests/mod-cgi.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-cgi.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-cgi.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-cgi.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-setenv.t
===================================================================
---- tests/mod-setenv.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-setenv.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-setenv.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-setenv.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,10 +1,9 @@
#!/usr/bin/env perl
-
use strict;
Index: tests/cachable.t
===================================================================
---- tests/cachable.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/cachable.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/cachable.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/cachable.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/lowercase.t
===================================================================
---- tests/lowercase.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/lowercase.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/lowercase.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/lowercase.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/core.t
===================================================================
---- tests/core.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,10 +1,9 @@
#!/usr/bin/env perl
-
use strict;
Index: tests/mod-fastcgi.t
===================================================================
---- tests/mod-fastcgi.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-fastcgi.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-fastcgi.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-fastcgi.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-rewrite.t
===================================================================
---- tests/mod-rewrite.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-rewrite.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-rewrite.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-rewrite.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
}
use strict;
+Index: tests/docroot/www/ip.pl
+===================================================================
+--- tests/docroot/www/ip.pl (.../tags/lighttpd-1.4.18) (revision 0)
++++ tests/docroot/www/ip.pl (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -0,0 +1,5 @@
++#!/usr/bin/perl
++print "Content-Type: text/html\r\n\r\n";
++print $ENV{'REMOTE_ADDR'};
++
++0;
+
+Property changes on: tests/docroot/www/ip.pl
+___________________________________________________________________
+Name: svn:executable
+ + *
+
Index: tests/Makefile.am
===================================================================
---- tests/Makefile.am (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/Makefile.am (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/Makefile.am (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/Makefile.am (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -31,14 +31,20 @@
core-response.t \
core-keepalive.t \
Index: tests/core-404-handler.t
===================================================================
---- tests/core-404-handler.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-404-handler.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-404-handler.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-404-handler.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -10,10 +10,10 @@
# returning no status -> 200
#
use strict;
Index: tests/mod-compress.t
===================================================================
---- tests/mod-compress.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-compress.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-compress.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-compress.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/mod-ssi.t
===================================================================
---- tests/mod-ssi.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/mod-ssi.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/mod-ssi.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/mod-ssi.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: tests/core-condition.t
===================================================================
---- tests/core-condition.t (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ tests/core-condition.t (.../branches/lighttpd-1.4.x) (revision 2043)
+--- tests/core-condition.t (.../tags/lighttpd-1.4.18) (revision 2054)
++++ tests/core-condition.t (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
BEGIN {
use strict;
Index: doc/configuration.txt
===================================================================
---- doc/configuration.txt (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ doc/configuration.txt (.../branches/lighttpd-1.4.x) (revision 2043)
+--- doc/configuration.txt (.../tags/lighttpd-1.4.18) (revision 2054)
++++ doc/configuration.txt (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -85,6 +85,8 @@
$HTTP["cookie"]
$HTTP["host"]
match on host
$HTTP["useragent"]
+Index: doc/lighttpd.conf
+===================================================================
+--- doc/lighttpd.conf (.../tags/lighttpd-1.4.18) (revision 2054)
++++ doc/lighttpd.conf (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -72,6 +72,7 @@
+ ".ogg" => "application/ogg",
+ ".wav" => "audio/x-wav",
+ ".gif" => "image/gif",
++ ".jar" => "application/x-java-archive",
+ ".jpg" => "image/jpeg",
+ ".jpeg" => "image/jpeg",
+ ".png" => "image/png",
Index: SConstruct
===================================================================
Index: Makefile.am
===================================================================
---- Makefile.am (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ Makefile.am (.../branches/lighttpd-1.4.x) (revision 2043)
+--- Makefile.am (.../tags/lighttpd-1.4.18) (revision 2054)
++++ Makefile.am (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -1,3 +1,3 @@
SUBDIRS=src doc tests cygwin openwrt
+EXTRA_DIST=lighttpd.spec autogen.sh SConstruct
Index: NEWS
===================================================================
---- NEWS (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ NEWS (.../branches/lighttpd-1.4.x) (revision 2043)
-@@ -3,6 +3,19 @@
+--- NEWS (.../tags/lighttpd-1.4.18) (revision 2054)
++++ NEWS (.../branches/lighttpd-1.4.x) (revision 2054)
+@@ -3,6 +3,23 @@
NEWS
====
+ * print error if X-LIGHTTPD-send-file cannot be done; reset header
+ Content-Length for send-file. Patches by Stefan Buhler
+ * prevent crash in certain php-fcgi configurations (#841)
++ * add IdleServers and Scoreboard directives in ?auto mode for mod_status (#1507)
++ * open log immediately after daemonizing, fixes SIGPIPEs on startup (#165)
++ * HTTPS env var should be "on" when using mod_extforward and the X-Forwarded-Proto header is set. (#1499)
++ * generate ETag and Last-Modified headers for mod_ssi based on newest modified include (#1491)
+
- 1.4.18 - 2007-09-09
* fixed compile error on IRIX 6.5.x on prctl() (#1333)
Index: lighttpd.spec.in
===================================================================
---- lighttpd.spec.in (.../tags/lighttpd-1.4.18) (revision 2043)
-+++ lighttpd.spec.in (.../branches/lighttpd-1.4.x) (revision 2043)
+--- lighttpd.spec.in (.../tags/lighttpd-1.4.18) (revision 2054)
++++ lighttpd.spec.in (.../branches/lighttpd-1.4.x) (revision 2054)
@@ -6,21 +6,19 @@
Packager: Jan Kneschke <jan@kneschke.de>
License: BSD