]>
Commit | Line | Data |
---|---|---|
09cf44bb ER |
1 | Index: configure.in |
2 | =================================================================== | |
3 | --- configure.in (.../tags/lighttpd-1.4.18) (revision 2015) | |
4 | +++ configure.in (.../branches/lighttpd-1.4.x) (revision 2015) | |
5 | @@ -1,7 +1,7 @@ | |
6 | # -*- Autoconf -*- | |
7 | # Process this file with autoconf to produce a configure script. | |
8 | AC_PREREQ(2.57) | |
9 | -AC_INIT(lighttpd, 1.4.18, jan@kneschke.de) | |
10 | +AC_INIT(lighttpd, 1.4.19, jan@kneschke.de) | |
11 | AC_CONFIG_SRCDIR([src/server.c]) | |
12 | ||
13 | AC_CANONICAL_TARGET | |
14 | Index: src/configfile-glue.c | |
15 | =================================================================== | |
16 | --- src/configfile-glue.c (.../tags/lighttpd-1.4.18) (revision 2015) | |
17 | +++ src/configfile-glue.c (.../branches/lighttpd-1.4.x) (revision 2015) | |
18 | @@ -341,6 +341,10 @@ | |
19 | } | |
20 | break; | |
21 | } | |
22 | + case COMP_HTTP_SCHEME: | |
23 | + l = con->uri.scheme; | |
24 | + break; | |
25 | + | |
26 | case COMP_HTTP_URL: | |
27 | l = con->uri.path; | |
28 | break; | |
29 | Index: src/array.h | |
30 | =================================================================== | |
31 | --- src/array.h (.../tags/lighttpd-1.4.18) (revision 2015) | |
32 | +++ src/array.h (.../branches/lighttpd-1.4.x) (revision 2015) | |
33 | @@ -90,6 +90,7 @@ | |
34 | COMP_HTTP_COOKIE, | |
35 | COMP_HTTP_REMOTEIP, | |
36 | COMP_HTTP_QUERYSTRING, | |
37 | + COMP_HTTP_SCHEME, | |
38 | ||
39 | COMP_LAST_ELEMENT | |
40 | } comp_key_t; | |
a9c05e12 | 41 | Index: src/mod_staticfile.c |
cc1350fa | 42 | =================================================================== |
09cf44bb ER |
43 | --- src/mod_staticfile.c (.../tags/lighttpd-1.4.18) (revision 2015) |
44 | +++ src/mod_staticfile.c (.../branches/lighttpd-1.4.x) (revision 2015) | |
45 | @@ -483,8 +483,24 @@ | |
46 | /* if the value is the same as our ETag, we do a Range-request, | |
47 | * otherwise a full 200 */ | |
48 | ||
49 | - if (!buffer_is_equal(ds->value, con->physical.etag)) { | |
50 | + if (ds->value->ptr[0] == '"') { | |
51 | + /** | |
52 | + * client wants a ETag | |
53 | + */ | |
54 | + if (!con->physical.etag) { | |
55 | + do_range_request = 0; | |
56 | + } else if (!buffer_is_equal(ds->value, con->physical.etag)) { | |
57 | + do_range_request = 0; | |
58 | + } | |
59 | + } else if (!mtime) { | |
60 | + /** | |
61 | + * we don't have a Last-Modified and can match the If-Range: | |
62 | + * | |
63 | + * sending all | |
64 | + */ | |
65 | do_range_request = 0; | |
66 | + } else if (!buffer_is_equal(ds->value, mtime)) { | |
67 | + do_range_request = 0; | |
cc1350fa | 68 | } |
cc1350fa | 69 | } |
cc1350fa | 70 | |
09cf44bb ER |
71 | Index: src/response.c |
72 | =================================================================== | |
73 | --- src/response.c (.../tags/lighttpd-1.4.18) (revision 2015) | |
74 | +++ src/response.c (.../branches/lighttpd-1.4.x) (revision 2015) | |
75 | @@ -180,6 +180,7 @@ | |
76 | buffer_copy_string_buffer(con->uri.authority, con->request.http_host); | |
77 | buffer_to_lower(con->uri.authority); | |
78 | ||
79 | + config_patch_connection(srv, con, COMP_HTTP_SCHEME); /* Scheme: */ | |
80 | config_patch_connection(srv, con, COMP_HTTP_HOST); /* Host: */ | |
81 | config_patch_connection(srv, con, COMP_HTTP_REMOTEIP); /* Client-IP */ | |
82 | config_patch_connection(srv, con, COMP_HTTP_REFERER); /* Referer: */ | |
83 | Index: src/configparser.y | |
84 | =================================================================== | |
85 | --- src/configparser.y (.../tags/lighttpd-1.4.18) (revision 2015) | |
86 | +++ src/configparser.y (.../branches/lighttpd-1.4.x) (revision 2015) | |
87 | @@ -422,6 +422,7 @@ | |
88 | { COMP_HTTP_COOKIE, CONST_STR_LEN("HTTP[\"cookie\"]" ) }, | |
89 | { COMP_HTTP_REMOTEIP, CONST_STR_LEN("HTTP[\"remoteip\"]" ) }, | |
90 | { COMP_HTTP_QUERYSTRING, CONST_STR_LEN("HTTP[\"querystring\"]") }, | |
91 | + { COMP_HTTP_SCHEME, CONST_STR_LEN("HTTP[\"scheme\"]" ) }, | |
92 | { COMP_UNSET, NULL, 0 }, | |
93 | }; | |
94 | size_t i; | |
95 | Index: doc/configuration.txt | |
96 | =================================================================== | |
97 | --- doc/configuration.txt (.../tags/lighttpd-1.4.18) (revision 2015) | |
98 | +++ doc/configuration.txt (.../branches/lighttpd-1.4.x) (revision 2015) | |
99 | @@ -85,6 +85,8 @@ | |
100 | ||
101 | $HTTP["cookie"] | |
102 | match on cookie | |
103 | +$HTTP["scheme"] | |
104 | + match on scheme | |
105 | $HTTP["host"] | |
106 | match on host | |
107 | $HTTP["useragent"] | |
cc1350fa ER |
108 | Index: NEWS |
109 | =================================================================== | |
09cf44bb ER |
110 | --- NEWS (.../tags/lighttpd-1.4.18) (revision 2015) |
111 | +++ NEWS (.../branches/lighttpd-1.4.x) (revision 2015) | |
112 | @@ -3,6 +3,11 @@ | |
cc1350fa ER |
113 | NEWS |
114 | ==== | |
115 | ||
09cf44bb ER |
116 | +- 1.4.19 - |
117 | + | |
118 | + * added support for If-Range: <date> (#1346) | |
119 | + * added support for matching $HTTP["scheme"] in configs | |
cc1350fa | 120 | + |
09cf44bb | 121 | - 1.4.18 - 2007-09-09 |
cc1350fa | 122 | |
09cf44bb | 123 | * fixed compile error on IRIX 6.5.x on prctl() (#1333) |