1 Index: src/configfile-glue.c
2 ===================================================================
3 --- src/configfile-glue.c (.../tags/lighttpd-1.4.18) (revision 2015)
4 +++ src/configfile-glue.c (.../branches/lighttpd-1.4.x) (revision 2015)
9 + case COMP_HTTP_SCHEME:
10 + l = con->uri.scheme;
17 ===================================================================
18 --- src/array.h (.../tags/lighttpd-1.4.18) (revision 2015)
19 +++ src/array.h (.../branches/lighttpd-1.4.x) (revision 2015)
23 COMP_HTTP_QUERYSTRING,
28 Index: src/mod_staticfile.c
29 ===================================================================
30 --- src/mod_staticfile.c (.../tags/lighttpd-1.4.18) (revision 2015)
31 +++ src/mod_staticfile.c (.../branches/lighttpd-1.4.x) (revision 2015)
33 /* if the value is the same as our ETag, we do a Range-request,
34 * otherwise a full 200 */
36 - if (!buffer_is_equal(ds->value, con->physical.etag)) {
37 + if (ds->value->ptr[0] == '"') {
39 + * client wants a ETag
41 + if (!con->physical.etag) {
42 + do_range_request = 0;
43 + } else if (!buffer_is_equal(ds->value, con->physical.etag)) {
44 + do_range_request = 0;
46 + } else if (!mtime) {
48 + * we don't have a Last-Modified and can match the If-Range:
53 + } else if (!buffer_is_equal(ds->value, mtime)) {
54 + do_range_request = 0;
59 ===================================================================
60 --- src/response.c (.../tags/lighttpd-1.4.18) (revision 2015)
61 +++ src/response.c (.../branches/lighttpd-1.4.x) (revision 2015)
63 buffer_copy_string_buffer(con->uri.authority, con->request.http_host);
64 buffer_to_lower(con->uri.authority);
66 + config_patch_connection(srv, con, COMP_HTTP_SCHEME); /* Scheme: */
67 config_patch_connection(srv, con, COMP_HTTP_HOST); /* Host: */
68 config_patch_connection(srv, con, COMP_HTTP_REMOTEIP); /* Client-IP */
69 config_patch_connection(srv, con, COMP_HTTP_REFERER); /* Referer: */
70 Index: src/configparser.y
71 ===================================================================
72 --- src/configparser.y (.../tags/lighttpd-1.4.18) (revision 2015)
73 +++ src/configparser.y (.../branches/lighttpd-1.4.x) (revision 2015)
75 { COMP_HTTP_COOKIE, CONST_STR_LEN("HTTP[\"cookie\"]" ) },
76 { COMP_HTTP_REMOTEIP, CONST_STR_LEN("HTTP[\"remoteip\"]" ) },
77 { COMP_HTTP_QUERYSTRING, CONST_STR_LEN("HTTP[\"querystring\"]") },
78 + { COMP_HTTP_SCHEME, CONST_STR_LEN("HTTP[\"scheme\"]" ) },
79 { COMP_UNSET, NULL, 0 },
82 Index: doc/configuration.txt
83 ===================================================================
84 --- doc/configuration.txt (.../tags/lighttpd-1.4.18) (revision 2015)
85 +++ doc/configuration.txt (.../branches/lighttpd-1.4.x) (revision 2015)
96 ===================================================================
97 --- NEWS (.../tags/lighttpd-1.4.18) (revision 2015)
98 +++ NEWS (.../branches/lighttpd-1.4.x) (revision 2015)
105 + * added support for If-Range: <date> (#1346)
106 + * added support for matching $HTTP["scheme"] in configs
108 - 1.4.18 - 2007-09-09
110 * fixed compile error on IRIX 6.5.x on prctl() (#1333)