2 ===================================================================
3 Index: src/configfile-glue.c
4 ===================================================================
5 --- src/configfile-glue.c (.../tags/lighttpd-1.4.19) (revision 2145)
6 +++ src/configfile-glue.c (.../branches/lighttpd-1.4.x) (revision 2145)
8 int config_append_cond_match_buffer(connection *con, data_config *dc, buffer *buf, int n)
10 cond_cache_t *cache = &con->cond_cache[dc->context_ndx];
11 - if (n > cache->patterncount) {
12 + if (n >= cache->patterncount) {
16 Index: src/connections.c
17 ===================================================================
18 --- src/connections.c (.../tags/lighttpd-1.4.19) (revision 2145)
19 +++ src/connections.c (.../branches/lighttpd-1.4.x) (revision 2145)
22 /* don't resize the buffer if we were in SSL_ERROR_WANT_* */
26 if (!con->ssl_error_want_reuse_buffer) {
28 @@ -1668,21 +1669,51 @@
31 if (srv_sock->is_ssl) {
36 switch ((ret = SSL_shutdown(con->ssl))) {
41 - SSL_shutdown(con->ssl);
44 + if (-1 != (ret = SSL_shutdown(con->ssl))) break;
48 - log_error_write(srv, __FILE__, __LINE__, "sds", "SSL:",
49 - SSL_get_error(con->ssl, ret),
50 - ERR_error_string(ERR_get_error(), NULL));
53 + switch ((ssl_r = SSL_get_error(con->ssl, ret))) {
54 + case SSL_ERROR_WANT_WRITE:
55 + case SSL_ERROR_WANT_READ:
57 + case SSL_ERROR_SYSCALL:
58 + /* perhaps we have error waiting in our error-queue */
59 + if (0 != (err = ERR_get_error())) {
61 + log_error_write(srv, __FILE__, __LINE__, "sdds", "SSL:",
63 + ERR_error_string(err, NULL));
64 + } while((err = ERR_get_error()));
66 + log_error_write(srv, __FILE__, __LINE__, "sddds", "SSL (error):",
73 + while((err = ERR_get_error())) {
74 + log_error_write(srv, __FILE__, __LINE__, "sdds", "SSL:",
76 + ERR_error_string(err, NULL));
88 ===================================================================
89 --- src/response.c (.../tags/lighttpd-1.4.19) (revision 2145)
90 +++ src/response.c (.../branches/lighttpd-1.4.x) (revision 2145)
93 if (buffer_is_empty(con->conf.server_tag)) {
94 BUFFER_APPEND_STRING_CONST(b, "\r\nServer: " PACKAGE_NAME "/" PACKAGE_VERSION);
96 + } else if (con->conf.server_tag->used > 1) {
97 BUFFER_APPEND_STRING_CONST(b, "\r\nServer: ");
98 buffer_append_string_encoded(b, CONST_BUF_LEN(con->conf.server_tag), ENCODING_HTTP_HEADER);
100 Index: src/mod_extforward.c
101 ===================================================================
102 --- src/mod_extforward.c (.../tags/lighttpd-1.4.19) (revision 2145)
103 +++ src/mod_extforward.c (.../branches/lighttpd-1.4.x) (revision 2145)
105 static const char *last_not_in_array(array *a, plugin_data *p)
107 array *forwarder = p->conf.forwarder;
110 - for (int i = a->used - 1; i >= 0; i--) {
111 + for (i = a->used - 1; i >= 0; i--) {
112 data_string *ds = (data_string *)a->data[i];
113 const char *ip = ds->value->ptr;
115 Index: src/network_openssl.c
116 ===================================================================
117 --- src/network_openssl.c (.../tags/lighttpd-1.4.19) (revision 2145)
118 +++ src/network_openssl.c (.../branches/lighttpd-1.4.x) (revision 2145)
124 if ((r = SSL_write(ssl, offset, toSend)) <= 0) {
132 if ((r = SSL_write(ssl, s, toSend)) <= 0) {
135 Index: src/mod_compress.c
136 ===================================================================
137 --- src/mod_compress.c (.../tags/lighttpd-1.4.19) (revision 2145)
138 +++ src/mod_compress.c (.../branches/lighttpd-1.4.x) (revision 2145)
142 if (!buffer_is_empty(s->compress_cache_dir)) {
144 mkdir_recursive(s->compress_cache_dir->ptr);
147 if (0 != stat(s->compress_cache_dir->ptr, &st)) {
148 log_error_write(srv, __FILE__, __LINE__, "sbs", "can't stat compress.cache-dir",
149 s->compress_cache_dir, strerror(errno));
150 Index: src/mod_fastcgi.c
151 ===================================================================
152 --- src/mod_fastcgi.c (.../tags/lighttpd-1.4.19) (revision 2145)
153 +++ src/mod_fastcgi.c (.../branches/lighttpd-1.4.x) (revision 2145)
154 @@ -2544,7 +2544,10 @@
155 stat_cache_entry *sce;
157 if (HANDLER_ERROR != stat_cache_get_entry(srv, con, ds->value, &sce)) {
158 - data_string *dcls = data_string_init();
160 + if (NULL == (dcls = (data_string *)array_get_unused_element(con->response.headers, TYPE_STRING))) {
161 + dcls = data_response_init();
164 http_chunk_append_file(srv, con, ds->value, 0, sce->st.st_size);
165 hctx->send_content_body = 0; /* ignore the content */
166 Index: src/mod_magnet.c
167 ===================================================================
168 --- src/mod_magnet.c (.../tags/lighttpd-1.4.19) (revision 2145)
169 +++ src/mod_magnet.c (.../branches/lighttpd-1.4.x) (revision 2145)
170 @@ -414,10 +414,16 @@
171 case MAGNET_ENV_URI_AUTHORITY: dest = con->uri.authority; break;
172 case MAGNET_ENV_URI_QUERY: dest = con->uri.query; break;
174 - case MAGNET_ENV_REQUEST_METHOD: break;
175 + case MAGNET_ENV_REQUEST_METHOD:
176 + buffer_copy_string(srv->tmp_buf, get_http_method_name(con->request.http_method));
177 + dest = srv->tmp_buf;
179 case MAGNET_ENV_REQUEST_URI: dest = con->request.uri; break;
180 case MAGNET_ENV_REQUEST_ORIG_URI: dest = con->request.orig_uri; break;
181 - case MAGNET_ENV_REQUEST_PROTOCOL: break;
182 + case MAGNET_ENV_REQUEST_PROTOCOL:
183 + buffer_copy_string(srv->tmp_buf, get_http_version_name(con->request.http_version));
184 + dest = srv->tmp_buf;
187 case MAGNET_ENV_UNSET: break;
189 Index: doc/userdir.txt
190 ===================================================================
191 --- doc/userdir.txt (.../tags/lighttpd-1.4.19) (revision 2145)
192 +++ doc/userdir.txt (.../branches/lighttpd-1.4.x) (revision 2145)
198 +userdir.path (required option)
199 usually it should be set to "public_html" to take ~/public_html/ as the document root
201 - Default: empty (document root is the home directory)
202 + Default: unset (mod_userdir disabled; set it to "" if you want the home directory to be the document root as it was the default before 1.4.19)
205 userdir.path = "public_html"
207 ===================================================================
208 --- SConstruct (.../tags/lighttpd-1.4.19) (revision 2145)
209 +++ SConstruct (.../branches/lighttpd-1.4.x) (revision 2145)
217 def checkCHeaders(autoconf, hdrs):
218 p = re.compile('[^A-Z0-9]')
220 ===================================================================
221 --- NEWS (.../tags/lighttpd-1.4.19) (revision 2145)
222 +++ NEWS (.../branches/lighttpd-1.4.x) (revision 2145)
230 + * Fix mod_compress to compile with old gcc version (#1592)
231 + * Fix mod_extforward to compile with old gcc version (#1591)
232 + * Update documentation for #1587
233 + * Fix #285 again: read error after SSL_shutdown (thx marton.illes@balabit.com) and clear the error queue before some other calls (CVE-2008-1531)
234 + * Fix mod_magnet: enable "request.method" and "request.protocol" in lighty.env (#1308)
235 + * Fix segfault for appending matched parts if there was no regex matching (just give empty strings) (#1601)
236 + * Use data_response_init in mod_fastcgi x-sendfile handling for response.headers, fix a small "memleak" (#1628)
237 + * Don't send empty Server headers (#1620)
239 +- 1.4.19 - 2008-03-10
241 * added support for If-Range: <date> (#1346)
242 * added support for matching $HTTP["scheme"] in configs
243 * fixed initgroups() called after chroot (#1384)
245 Property changes on: .
246 ___________________________________________________________________
248 - 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-1.3.x:499
249 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-1.4.11-ssl-fixes:1346
250 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-merge-1.4.x:1041
251 152afb58-edef-0310-8abb-c4023f1b3aa9:/tags/lighttpd-1.4.11:1042
252 152afb58-edef-0310-8abb-c4023f1b3aa9:/tags/release-1.3.13:105
253 152afb58-edef-0310-8abb-c4023f1b3aa9:/trunk:104
254 a98e19e4-a712-0410-8832-6551a15ffc53:/local/branches/lighttpd-1.4.x:1557
255 ebd0e9cf-3e47-4385-9dd4-f0e25e97baa2:/local/lighttpd/branches/lighttpd-1.4.x:2164
256 + 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-1.3.x:499
257 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-1.4.11-ssl-fixes:1346
258 152afb58-edef-0310-8abb-c4023f1b3aa9:/branches/lighttpd-merge-1.4.x:1041
259 152afb58-edef-0310-8abb-c4023f1b3aa9:/tags/lighttpd-1.4.11:1042
260 152afb58-edef-0310-8abb-c4023f1b3aa9:/tags/release-1.3.13:105
261 152afb58-edef-0310-8abb-c4023f1b3aa9:/trunk:104
262 a98e19e4-a712-0410-8832-6551a15ffc53:/local/branches/lighttpd-1.4.x:1557
263 ebd0e9cf-3e47-4385-9dd4-f0e25e97baa2:/local/lighttpd/branches/lighttpd-1.4.x:2209