-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
#define HASHLEN 16
typedef unsigned char HASH[HASHLEN];
#define HASHHEXLEN 32
@@ -200,7 +190,7 @@
URIHANDLER_FUNC(mod_secdownload_uri_handler) {
plugin_data *p = p_d;
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
HASH HA1;
const char *rel_uri, *ts_str, *md5_str;
time_t ts = 0;
@@ -266,9 +256,9 @@
buffer_append_string(p->md5, rel_uri);
buffer_append_string_len(p->md5, ts_str, 8);
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)p->md5->ptr, p->md5->used - 1);
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)p->md5->ptr, p->md5->used - 1);
+ li_MD5_Final(HA1, &Md5Ctx);
buffer_copy_string_hex(p->md5, (char *)HA1, 16);
Modified: lighttpd/trunk/src/mod_staticfile.c
===================================================================
--- lighttpd/trunk/src/mod_staticfile.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/mod_staticfile.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -26,6 +26,7 @@
typedef struct {
array *exclude_ext;
unsigned short etags_used;
+ unsigned short disable_pathinfo;
} plugin_config;
typedef struct {
@@ -84,6 +85,7 @@
config_values_t cv[] = {
{ "static-file.exclude-extensions", NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_CONNECTION }, /* 0 */
{ "static-file.etags", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 1 */
+ { "static-file.disable-pathinfo", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 2 */
{ NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
};
@@ -97,9 +99,11 @@
s = calloc(1, sizeof(plugin_config));
s->exclude_ext = array_init();
s->etags_used = 1;
+ s->disable_pathinfo = 0;
cv[0].destination = s->exclude_ext;
cv[1].destination = &(s->etags_used);
+ cv[2].destination = &(s->disable_pathinfo);
p->config_storage[i] = s;
@@ -119,6 +123,7 @@
PATCH(exclude_ext);
PATCH(etags_used);
+ PATCH(disable_pathinfo);
/* skip the first, the global context */
for (i = 1; i < srv->config_context->used; i++) {
@@ -136,7 +141,9 @@
PATCH(exclude_ext);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("static-file.etags"))) {
PATCH(etags_used);
- }
+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("static-file.disable-pathinfo"))) {
+ PATCH(disable_pathinfo);
+ }
}
}
@@ -350,7 +357,6 @@
URIHANDLER_FUNC(mod_staticfile_subrequest) {
plugin_data *p = p_d;
size_t k;
- int s_len;
stat_cache_entry *sce = NULL;
buffer *mtime = NULL;
data_string *ds;
@@ -376,7 +382,12 @@
mod_staticfile_patch_connection(srv, con, p);
- s_len = con->uri.path->used - 1;
+ if (p->conf.disable_pathinfo && 0 != con->request.pathinfo->used) {
+ if (con->conf.log_request_handling) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "-- NOT handling file as static file, pathinfo forbidden");
+ }
+ return HANDLER_GO_ON;
+ }
/* ignore certain extensions */
for (k = 0; k < p->conf.exclude_ext->used; k++) {
Modified: lighttpd/trunk/src/mod_status.c
===================================================================
--- lighttpd/trunk/src/mod_status.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/mod_status.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -487,7 +487,7 @@
buffer_append_string_len(b, CONST_STR_LEN(""));
- if (con->request.content_length) {
+ if (c->request.content_length) {
buffer_append_long(b, c->request_content_queue->bytes_in);
buffer_append_string_len(b, CONST_STR_LEN("/"));
buffer_append_long(b, c->request.content_length);
Modified: lighttpd/trunk/src/mod_userdir.c
===================================================================
--- lighttpd/trunk/src/mod_userdir.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/mod_userdir.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -166,7 +166,6 @@
URIHANDLER_FUNC(mod_userdir_docroot_handler) {
plugin_data *p = p_d;
- int uri_len;
size_t k;
char *rel_url;
#ifdef HAVE_PWD_H
@@ -182,8 +181,6 @@
*/
if (p->conf.path->used == 0) return HANDLER_GO_ON;
- uri_len = con->uri.path->used - 1;
-
/* /~user/foo.html -> /home/user/public_html/foo.html */
if (con->uri.path->ptr[0] != '/' ||
Modified: lighttpd/trunk/src/mod_usertrack.c
===================================================================
--- lighttpd/trunk/src/mod_usertrack.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/mod_usertrack.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -8,18 +8,8 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
/* plugin config for all request/connections */
typedef struct {
@@ -182,7 +172,7 @@
plugin_data *p = p_d;
data_string *ds;
unsigned char h[16];
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
char hh[32];
if (con->uri.path->used == 0) return HANDLER_GO_ON;
@@ -228,18 +218,18 @@
/* taken from mod_auth.c */
/* generate shared-secret */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)con->uri.path->ptr, con->uri.path->used - 1);
- MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)con->uri.path->ptr, con->uri.path->used - 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
/* we assume sizeof(time_t) == 4 here, but if not it ain't a problem at all */
LI_ltostr(hh, srv->cur_ts);
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
LI_ltostr(hh, rand());
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Final(h, &Md5Ctx);
+ li_MD5_Final(h, &Md5Ctx);
buffer_append_string_encoded(ds->value, (char *)h, 16, ENCODING_HEX);
buffer_append_string_len(ds->value, CONST_STR_LEN("; Path=/"));
Modified: lighttpd/trunk/src/network.c
===================================================================
--- lighttpd/trunk/src/network.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -27,6 +27,19 @@
# include
#endif
+#ifdef USE_OPENSSL
+static void ssl_info_callback(const SSL *ssl, int where, int ret) {
+ UNUSED(ret);
+
+ if (0 != (where & SSL_CB_HANDSHAKE_START)) {
+ connection *con = SSL_get_app_data(ssl);
+ ++con->renegotiations;
+ } else if (0 != (where & SSL_CB_HANDSHAKE_DONE)) {
+ ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+ }
+}
+#endif
+
static handler_t network_server_handle_fdevent(server *srv, void *context, int revents) {
server_socket *srv_socket = (server_socket *)context;
connection *con;
@@ -480,9 +493,11 @@
network_backend_t backend;
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
+#ifndef OPENSSL_NO_ECDH
EC_KEY *ecdh;
int nid;
#endif
+#endif
#ifdef USE_OPENSSL
DH *dh;
@@ -553,6 +568,11 @@
/* load SSL certificates */
for (i = 0; i < srv->config_context->used; i++) {
specific_config *s = srv->config_storage[i];
+#ifndef SSL_OP_NO_COMPRESSION
+# define SSL_OP_NO_COMPRESSION 0
+#endif
+ long ssloptions =
+ SSL_OP_ALL | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION | SSL_OP_NO_COMPRESSION;
if (buffer_is_empty(s->ssl_pemfile)) continue;
@@ -586,6 +606,9 @@
return -1;
}
+ SSL_CTX_set_options(s->ssl_ctx, ssloptions);
+ SSL_CTX_set_info_callback(s->ssl_ctx, ssl_info_callback);
+
if (!s->ssl_use_sslv2) {
/* disable SSLv2 */
if (!(SSL_OP_NO_SSLv2 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_SSLv2))) {
@@ -611,6 +634,10 @@
ERR_error_string(ERR_get_error(), NULL));
return -1;
}
+
+ if (s->ssl_honor_cipher_order) {
+ SSL_CTX_set_options(s->ssl_ctx, SSL_OP_CIPHER_SERVER_PREFERENCE);
+ }
}
/* Support for Diffie-Hellman key exchange */
@@ -847,7 +874,7 @@
return 0;
}
-int network_write_chunkqueue(server *srv, connection *con, chunkqueue *cq) {
+int network_write_chunkqueue(server *srv, connection *con, chunkqueue *cq, off_t max_bytes) {
int ret = -1;
off_t written = 0;
#ifdef TCP_CORK
@@ -855,16 +882,34 @@
#endif
server_socket *srv_socket = con->srv_socket;
- if (con->conf.global_kbytes_per_second &&
- *(con->conf.global_bytes_per_second_cnt_ptr) > con->conf.global_kbytes_per_second * 1024) {
- /* we reached the global traffic limit */
+ if (con->conf.global_kbytes_per_second) {
+ off_t limit = con->conf.global_kbytes_per_second * 1024 - *(con->conf.global_bytes_per_second_cnt_ptr);
+ if (limit <= 0) {
+ /* we reached the global traffic limit */
- con->traffic_limit_reached = 1;
- joblist_append(srv, con);
+ con->traffic_limit_reached = 1;
+ joblist_append(srv, con);
- return 1;
+ return 1;
+ } else {
+ if (max_bytes > limit) max_bytes = limit;
+ }
}
+ if (con->conf.kbytes_per_second) {
+ off_t limit = con->conf.kbytes_per_second * 1024 - con->bytes_written_cur_second;
+ if (limit <= 0) {
+ /* we reached the traffic limit */
+
+ con->traffic_limit_reached = 1;
+ joblist_append(srv, con);
+
+ return 1;
+ } else {
+ if (max_bytes > limit) max_bytes = limit;
+ }
+ }
+
written = cq->bytes_out;
#ifdef TCP_CORK
@@ -879,10 +924,10 @@
if (srv_socket->is_ssl) {
#ifdef USE_OPENSSL
- ret = srv->network_ssl_backend_write(srv, con, con->ssl, cq);
+ ret = srv->network_ssl_backend_write(srv, con, con->ssl, cq, max_bytes);
#endif
} else {
- ret = srv->network_backend_write(srv, con, con->fd, cq);
+ ret = srv->network_backend_write(srv, con, con->fd, cq, max_bytes);
}
if (ret >= 0) {
@@ -903,12 +948,5 @@
*(con->conf.global_bytes_per_second_cnt_ptr) += written;
- if (con->conf.kbytes_per_second &&
- (con->bytes_written_cur_second > con->conf.kbytes_per_second * 1024)) {
- /* we reached the traffic limit */
-
- con->traffic_limit_reached = 1;
- joblist_append(srv, con);
- }
return ret;
}
Modified: lighttpd/trunk/src/network.h
===================================================================
--- lighttpd/trunk/src/network.h 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network.h 2011-12-18 18:33:13 UTC (rev 559)
@@ -3,7 +3,7 @@
#include "server.h"
-int network_write_chunkqueue(server *srv, connection *con, chunkqueue *c);
+int network_write_chunkqueue(server *srv, connection *con, chunkqueue *c, off_t max_bytes);
int network_init(server *srv);
int network_close(server *srv);
Modified: lighttpd/trunk/src/network_backends.h
===================================================================
--- lighttpd/trunk/src/network_backends.h 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_backends.h 2011-12-18 18:33:13 UTC (rev 559)
@@ -47,18 +47,18 @@
#include "base.h"
/* return values:
- * >= 0 : chunks completed
+ * >= 0 : no error
* -1 : error (on our side)
* -2 : remote close
*/
-int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq);
+int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
#ifdef USE_OPENSSL
-int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq);
+int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq, off_t max_bytes);
#endif
#endif
Modified: lighttpd/trunk/src/network_freebsd_sendfile.c
===================================================================
--- lighttpd/trunk/src/network_freebsd_sendfile.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_freebsd_sendfile.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -31,17 +31,16 @@
# endif
#endif
-int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -49,12 +48,10 @@
chunk *tc;
size_t num_bytes = 0;
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < UIO_MAXIOV
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for(num_chunks = 0, tc = c; tc && tc->type == MEM_CHUNK && num_chunks < UIO_MAXIOV; num_chunks++, tc = tc->next);
@@ -69,9 +66,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -105,6 +102,7 @@
/* check which chunks have been written */
cq->bytes_out += r;
+ max_bytes -= r;
for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
if (r >= (ssize_t)chunks[i].iov_len) {
@@ -114,11 +112,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -134,7 +131,7 @@
}
case FILE_CHUNK: {
off_t offset, r;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
if (HANDLER_ERROR == stat_cache_get_entry(srv, con, c->file.name, &sce)) {
@@ -144,9 +141,8 @@
}
offset = c->file.start + c->offset;
- /* limit the toSend to 2^31-1 bytes in a chunk */
- toSend = c->file.length - c->offset > ((1 << 30) - 1) ?
- ((1 << 30) - 1) : c->file.length - c->offset;
+ toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (-1 == c->file.fd) {
if (-1 == (c->file.fd = open(c->file.name->ptr, O_RDONLY))) {
@@ -197,6 +193,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -218,7 +215,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/trunk/src/network_linux_sendfile.c
===================================================================
--- lighttpd/trunk/src/network_linux_sendfile.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_linux_sendfile.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -27,17 +27,16 @@
/* on linux 2.4.29 + debian/ubuntu we have crashes if this is enabled */
#undef HAVE_POSIX_FADVISE
-int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -45,12 +44,10 @@
chunk *tc;
size_t num_bytes = 0;
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < UIO_MAXIOV
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for (num_chunks = 0, tc = c;
tc && tc->type == MEM_CHUNK && num_chunks < UIO_MAXIOV;
@@ -67,9 +64,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -100,6 +97,7 @@
/* check which chunks have been written */
cq->bytes_out += r;
+ max_bytes -= r;
for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
if (r >= (ssize_t)chunks[i].iov_len) {
@@ -109,11 +107,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -130,13 +127,12 @@
case FILE_CHUNK: {
ssize_t r;
off_t offset;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
offset = c->file.start + c->offset;
- /* limit the toSend to 2^31-1 bytes in a chunk */
- toSend = c->file.length - c->offset > ((1 << 30) - 1) ?
- ((1 << 30) - 1) : c->file.length - c->offset;
+ toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
/* open file if not already opened */
if (-1 == c->file.fd) {
@@ -215,6 +211,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -243,7 +240,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/trunk/src/network_openssl.c
===================================================================
--- lighttpd/trunk/src/network_openssl.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_openssl.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -27,10 +27,9 @@
# include
# include
-int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq) {
+int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq, off_t max_bytes) {
int ssl_r;
chunk *c;
- size_t chunks_written = 0;
/* this is a 64k sendbuffer
*
@@ -59,13 +58,13 @@
SSL_set_shutdown(ssl, SSL_RECEIVED_SHUTDOWN);
}
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
if (c->mem->used == 0 || c->mem->used == 1) {
@@ -75,6 +74,7 @@
offset = c->mem->ptr + c->offset;
toSend = c->mem->used - 1 - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
/**
* SSL_write man-page
@@ -87,7 +87,14 @@
*/
ERR_clear_error();
- if ((r = SSL_write(ssl, offset, toSend)) <= 0) {
+ r = SSL_write(ssl, offset, toSend);
+
+ if (con->renegotiations > 1 && con->conf.ssl_disable_client_renegotiation) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "SSL: renegotiation initiated by client");
+ return -1;
+ }
+
+ if (r <= 0) {
unsigned long err;
switch ((ssl_r = SSL_get_error(ssl, r))) {
@@ -139,6 +146,7 @@
} else {
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
}
if (c->offset == (off_t)c->mem->used - 1) {
@@ -168,6 +176,7 @@
do {
off_t offset = c->file.start + c->offset;
off_t toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (toSend > LOCAL_SEND_BUFSIZE) toSend = LOCAL_SEND_BUFSIZE;
@@ -190,7 +199,14 @@
close(ifd);
ERR_clear_error();
- if ((r = SSL_write(ssl, s, toSend)) <= 0) {
+ r = SSL_write(ssl, s, toSend);
+
+ if (con->renegotiations > 1 && con->conf.ssl_disable_client_renegotiation) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "SSL: renegotiation initiated by client");
+ return -1;
+ }
+
+ if (r <= 0) {
unsigned long err;
switch ((ssl_r = SSL_get_error(ssl, r))) {
@@ -243,12 +259,13 @@
} else {
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
}
if (c->offset == c->file.length) {
chunk_finished = 1;
}
- } while(!chunk_finished && !write_wait);
+ } while (!chunk_finished && !write_wait && max_bytes > 0);
break;
}
@@ -263,11 +280,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/trunk/src/network_solaris_sendfilev.c
===================================================================
--- lighttpd/trunk/src/network_solaris_sendfilev.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_solaris_sendfilev.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -38,17 +38,16 @@
*/
-int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -77,9 +76,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -119,11 +118,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -139,8 +137,8 @@
}
case FILE_CHUNK: {
ssize_t r;
- off_t offset;
- size_t toSend, written;
+ off_t offset, toSend;
+ size_t written;
sendfilevec_t fvec;
stat_cache_entry *sce = NULL;
int ifd;
@@ -153,6 +151,7 @@
offset = c->file.start + c->offset;
toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (offset > sce->st.st_size) {
log_error_write(srv, __FILE__, __LINE__, "sb", "file was shrinked:", c->file.name);
@@ -186,6 +185,7 @@
close(ifd);
c->offset += written;
cq->bytes_out += written;
+ max_bytes -= written;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -207,7 +207,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/trunk/src/network_write.c
===================================================================
--- lighttpd/trunk/src/network_write.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_write.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -24,17 +24,16 @@
# include
#endif
-int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
if (c->mem->used == 0) {
@@ -44,6 +43,8 @@
offset = c->mem->ptr + c->offset;
toSend = c->mem->used - 1 - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
+
#ifdef __WIN32
if ((r = send(fd, offset, toSend, 0)) < 0) {
/* no error handling for windows... */
@@ -72,6 +73,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == (off_t)c->mem->used - 1) {
chunk_finished = 1;
@@ -85,7 +87,7 @@
#endif
ssize_t r;
off_t offset;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
int ifd;
@@ -98,6 +100,8 @@
offset = c->file.start + c->offset;
toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
+
if (offset > sce->st.st_size) {
log_error_write(srv, __FILE__, __LINE__, "sb", "file was shrinked:", c->file.name);
@@ -181,6 +185,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -200,11 +205,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#if 0
Modified: lighttpd/trunk/src/network_writev.c
===================================================================
--- lighttpd/trunk/src/network_writev.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/network_writev.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -30,17 +30,16 @@
#define LOCAL_BUFFERING 1
#endif
-int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -65,12 +64,10 @@
#error "sysconf() doesnt return _SC_IOV_MAX ..., check the output of 'man writev' for the EINVAL error and send the output to jan at kneschke.de"
#endif
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < max_chunks
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for (num_chunks = 0, tc = c; tc && tc->type == MEM_CHUNK && num_chunks < max_chunks; num_chunks++, tc = tc->next);
@@ -87,9 +84,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -121,6 +118,7 @@
}
cq->bytes_out += r;
+ max_bytes -= r;
/* check which chunks have been written */
@@ -132,11 +130,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -284,6 +281,8 @@
assert(toSend < 0);
}
+ if (toSend > max_bytes) toSend = max_bytes;
+
#ifdef LOCAL_BUFFERING
start = c->mem->ptr;
#else
@@ -309,6 +308,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -334,11 +334,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/trunk/src/request.c
===================================================================
--- lighttpd/trunk/src/request.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/request.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -49,7 +49,7 @@
if (++colon_cnt > 7) {
return -1;
}
- } else if (!light_isxdigit(*c)) {
+ } else if (!light_isxdigit(*c) && '.' != *c) {
return -1;
}
}
Modified: lighttpd/trunk/src/server.c
===================================================================
--- lighttpd/trunk/src/server.c 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/server.c 2011-12-18 18:33:13 UTC (rev 559)
@@ -1120,6 +1120,14 @@
"s", "fdevent_init failed");
return -1;
}
+
+ /* libev backend overwrites our SIGCHLD handler and calls waitpid on SIGCHLD; we want our own SIGCHLD handling. */
+#ifdef HAVE_SIGACTION
+ sigaction(SIGCHLD, &act, NULL);
+#elif defined(HAVE_SIGNAL)
+ signal(SIGCHLD, signal_handler);
+#endif
+
/*
* kqueue() is called here, select resets its internals,
* all server sockets get their handlers
Modified: lighttpd/trunk/src/settings.h
===================================================================
--- lighttpd/trunk/src/settings.h 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/src/settings.h 2011-12-18 18:33:13 UTC (rev 559)
@@ -21,8 +21,11 @@
* 64kB (no real reason, just a guess)
*/
#define BUFFER_MAX_REUSE_SIZE (4 * 1024)
-#define MAX_READ_LIMIT (4*1024*1024)
+/* both should be way smaller than SSIZE_MAX :) */
+#define MAX_READ_LIMIT (256*1024)
+#define MAX_WRITE_LIMIT (256*1024)
+
/**
* max size of the HTTP request header
*
Modified: lighttpd/trunk/tests/lighttpd.conf
===================================================================
--- lighttpd/trunk/tests/lighttpd.conf 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/tests/lighttpd.conf 2011-12-18 18:33:13 UTC (rev 559)
@@ -149,6 +149,7 @@
$HTTP["host"] == "zzz.example.org" {
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
+ static-file.disable-pathinfo = "enable"
}
$HTTP["host"] == "symlink.example.org" {
Modified: lighttpd/trunk/tests/mod-auth.t
===================================================================
--- lighttpd/trunk/tests/mod-auth.t 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/tests/mod-auth.t 2011-12-18 18:33:13 UTC (rev 559)
@@ -8,7 +8,7 @@
use strict;
use IO::Socket;
-use Test::More tests => 14;
+use Test::More tests => 15;
use LightyTest;
my $tf = LightyTest->new();
@@ -25,6 +25,14 @@
$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 401 } ];
+ok($tf->handle_http($t) == 0, 'Basic-Auth: Invalid base64 Auth-token');
+
+$t->{REQUEST} = ( < 44;
+use Test::More tests => 46;
use LightyTest;
my $tf = LightyTest->new();
@@ -413,5 +413,21 @@
$t->{SLOWREQUEST} = 1;
ok($tf->handle_http($t) == 0, 'GET, slow \\r\\n\\r\\n (#2105)');
+print "\nPathinfo for static files\n";
+$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'Content-Type' => 'image/jpeg' } ];
+ok($tf->handle_http($t) == 0, 'static file accepting pathinfo by default');
+
+$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 403 } ];
+ok($tf->handle_http($t) == 0, 'static file with forbidden pathinfo');
+
ok($tf->stop_proc == 0, "Stopping lighttpd");
Modified: lighttpd/trunk/tests/wrapper.sh
===================================================================
--- lighttpd/trunk/tests/wrapper.sh 2011-12-18 18:32:09 UTC (rev 558)
+++ lighttpd/trunk/tests/wrapper.sh 2011-12-18 18:33:13 UTC (rev 559)
@@ -6,4 +6,4 @@
top_builddir=$2
export SHELL srcdir top_builddir
-$3
+exec $3
From atoell-guest at alioth.debian.org Sun Dec 18 18:32:06 2011
From: atoell-guest at alioth.debian.org (=?UTF-8?Q?Arno_T=C3=B6ll?=)
Date: Sun, 18 Dec 2011 18:32:06 +0000
Subject: [pkg-lighttpd] r557 - in lighttpd/branches/upstream/current: .
doc/config m4 src tests
Message-ID:
Author: atoell-guest
Date: 2011-12-18 18:32:06 +0000 (Sun, 18 Dec 2011)
New Revision: 557
Removed:
lighttpd/branches/upstream/current/src/http_auth_digest.c
lighttpd/branches/upstream/current/src/http_auth_digest.h
Modified:
lighttpd/branches/upstream/current/NEWS
lighttpd/branches/upstream/current/SConstruct
lighttpd/branches/upstream/current/configure
lighttpd/branches/upstream/current/configure.ac
lighttpd/branches/upstream/current/doc/config/lighttpd.conf
lighttpd/branches/upstream/current/ltmain.sh
lighttpd/branches/upstream/current/m4/libtool.m4
lighttpd/branches/upstream/current/m4/ltoptions.m4
lighttpd/branches/upstream/current/m4/ltversion.m4
lighttpd/branches/upstream/current/src/Makefile.am
lighttpd/branches/upstream/current/src/Makefile.in
lighttpd/branches/upstream/current/src/SConscript
lighttpd/branches/upstream/current/src/base.h
lighttpd/branches/upstream/current/src/configfile.c
lighttpd/branches/upstream/current/src/connections.c
lighttpd/branches/upstream/current/src/http_auth.c
lighttpd/branches/upstream/current/src/mod_cgi.c
lighttpd/branches/upstream/current/src/mod_cml_funcs.c
lighttpd/branches/upstream/current/src/mod_cml_lua.c
lighttpd/branches/upstream/current/src/mod_dirlisting.c
lighttpd/branches/upstream/current/src/mod_fastcgi.c
lighttpd/branches/upstream/current/src/mod_proxy.c
lighttpd/branches/upstream/current/src/mod_scgi.c
lighttpd/branches/upstream/current/src/mod_secure_download.c
lighttpd/branches/upstream/current/src/mod_staticfile.c
lighttpd/branches/upstream/current/src/mod_status.c
lighttpd/branches/upstream/current/src/mod_userdir.c
lighttpd/branches/upstream/current/src/mod_usertrack.c
lighttpd/branches/upstream/current/src/network.c
lighttpd/branches/upstream/current/src/network.h
lighttpd/branches/upstream/current/src/network_backends.h
lighttpd/branches/upstream/current/src/network_freebsd_sendfile.c
lighttpd/branches/upstream/current/src/network_linux_sendfile.c
lighttpd/branches/upstream/current/src/network_openssl.c
lighttpd/branches/upstream/current/src/network_solaris_sendfilev.c
lighttpd/branches/upstream/current/src/network_write.c
lighttpd/branches/upstream/current/src/network_writev.c
lighttpd/branches/upstream/current/src/request.c
lighttpd/branches/upstream/current/src/server.c
lighttpd/branches/upstream/current/src/settings.h
lighttpd/branches/upstream/current/tests/lighttpd.conf
lighttpd/branches/upstream/current/tests/mod-auth.t
lighttpd/branches/upstream/current/tests/request.t
lighttpd/branches/upstream/current/tests/wrapper.sh
Log:
[svn-upgrade] new version lighttpd (1.4.30)
Modified: lighttpd/branches/upstream/current/NEWS
===================================================================
--- lighttpd/branches/upstream/current/NEWS 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/NEWS 2011-12-18 18:32:06 UTC (rev 557)
@@ -3,7 +3,21 @@
NEWS
====
-- 1.4.29 -
+- 1.4.30 -
+ * Always use our 'own' md5 implementation, fixes linking issues on MacOS (fixes #2331)
+ * Limit amount of bytes we send in one go; fixes stalling in one connection and timeouts on slow systems.
+ * [ssl] fix build errors when Elliptic-Curve Diffie-Hellman is disabled
+ * Add static-file.disable-pathinfo option to prevent handling of urls like .../secret.php/image.jpg as static file
+ * Don't overwrite 401 (auth required) with 501 (unknown method) (fixes #2341)
+ * Fix mod_status bug: always showed "0/0" in the "Read" column for uploads (fixes #2351)
+ * [mod_auth] Fix signedness error in http_auth (fixes #2370, CVE-2011-4362)
+ * [ssl] count renegotiations to prevent client renegotiations
+ * [ssl] add option to honor server cipher order (fixes #2364, BEAST attack)
+ * [core] accept dots in ipv6 addresses in host header (fixes #2359)
+ * [ssl] fix ssl connection aborts if files are larger than the MAX_WRITE_LIMIT (256kb)
+ * [libev/cgi] fix waitpid ECHILD errors in cgi with libev (fixes #2324)
+
+- 1.4.29 - 2011-07-03
* Fix mod_proxy waiting for response even if content-length is 0 (fixes #2259)
* Silence annoying "connection closed: poll() -> ERR" error.log message (fixes #2257)
* mod_cgi: make read buffer as big as incoming data block
Modified: lighttpd/branches/upstream/current/SConstruct
===================================================================
--- lighttpd/branches/upstream/current/SConstruct 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/SConstruct 2011-12-18 18:32:06 UTC (rev 557)
@@ -5,7 +5,7 @@
from stat import *
package = 'lighttpd'
-version = '1.4.29'
+version = '1.4.30'
def checkCHeaders(autoconf, hdrs):
p = re.compile('[^A-Z0-9]')
Modified: lighttpd/branches/upstream/current/configure
===================================================================
--- lighttpd/branches/upstream/current/configure 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/configure 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for lighttpd 1.4.29.
+# Generated by GNU Autoconf 2.68 for lighttpd 1.4.30.
#
# Report bugs to .
#
@@ -570,8 +570,8 @@
# Identity of this package.
PACKAGE_NAME='lighttpd'
PACKAGE_TARNAME='lighttpd'
-PACKAGE_VERSION='1.4.29'
-PACKAGE_STRING='lighttpd 1.4.29'
+PACKAGE_VERSION='1.4.30'
+PACKAGE_STRING='lighttpd 1.4.30'
PACKAGE_BUGREPORT='contact at lighttpd.net'
PACKAGE_URL=''
@@ -1365,7 +1365,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures lighttpd 1.4.29 to adapt to many kinds of systems.
+\`configure' configures lighttpd 1.4.30 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1436,7 +1436,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of lighttpd 1.4.29:";;
+ short | recursive ) echo "Configuration of lighttpd 1.4.30:";;
esac
cat <<\_ACEOF
@@ -1461,7 +1461,7 @@
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-pic try to use only PIC/non-PIC objects [default=use
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-sysroot=DIR Search for dependent libraries within DIR
(or the compiler's sysroot if not specified).
@@ -1580,7 +1580,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-lighttpd configure 1.4.29
+lighttpd configure 1.4.30
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2238,7 +2238,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by lighttpd $as_me 1.4.29, which was
+It was created by lighttpd $as_me 1.4.30, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3169,7 +3169,7 @@
# Define the identity of the package.
PACKAGE='lighttpd'
- VERSION='1.4.29'
+ VERSION='1.4.30'
cat >>confdefs.h <<_ACEOF
@@ -5473,8 +5473,8 @@
-macro_version='2.4'
-macro_revision='1.3293'
+macro_version='2.4.2'
+macro_revision='1.3337'
@@ -5775,6 +5775,11 @@
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5814,7 +5819,7 @@
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
@@ -6243,7 +6248,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -6883,13 +6888,13 @@
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
@@ -7036,6 +7041,7 @@
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -7424,7 +7430,7 @@
CFLAGS="$SAVE_CFLAGS"
fi
;;
-sparc*-*solaris*)
+*-*solaris*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -7435,7 +7441,20 @@
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
@@ -8075,7 +8094,13 @@
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
@@ -8086,6 +8111,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
if ${lt_cv_ld_exported_symbols_list+:} false; then :
@@ -8118,6 +8144,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
$as_echo_n "checking for -force_load linker flag... " >&6; }
if ${lt_cv_ld_force_load+:} false; then :
@@ -8139,7 +8166,9 @@
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
@@ -8215,7 +8244,22 @@
# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
pic_mode=default
fi
@@ -8293,6 +8337,10 @@
+
+
+
+
test -z "$LN_S" && LN_S="ln -s"
@@ -8752,7 +8800,9 @@
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
;;
esac
else
@@ -8843,18 +8893,33 @@
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl=''
;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl='-Wl,'
;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
esac
;;
esac
@@ -9216,7 +9281,6 @@
hardcode_direct=no
hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
@@ -9469,8 +9533,7 @@
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
@@ -9850,6 +9913,7 @@
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
@@ -9895,6 +9959,7 @@
hardcode_shlibpath_var=unsupported
if test "$lt_cv_ld_force_load" = "yes"; then
whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
else
whole_archive_flag_spec=''
fi
@@ -9923,10 +9988,6 @@
hardcode_shlibpath_var=no
;;
- freebsd1*)
- ld_shlibs=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@@ -9939,7 +10000,7 @@
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -9978,7 +10039,6 @@
fi
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
@@ -10602,11 +10662,6 @@
-
-
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
@@ -10696,7 +10751,7 @@
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -10705,7 +10760,7 @@
;;
aix[4-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -10770,7 +10825,7 @@
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -10909,7 +10964,7 @@
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -10917,10 +10972,6 @@
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -10928,7 +10979,7 @@
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[123]*) objformat=aout ;;
+ freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -10946,7 +10997,7 @@
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10966,7 +11017,7 @@
;;
gnu*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
@@ -10977,7 +11028,7 @@
;;
haiku*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
@@ -11038,7 +11089,7 @@
;;
interix[3-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -11054,7 +11105,7 @@
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
@@ -11091,9 +11142,9 @@
dynamic_linker=no
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11187,7 +11238,7 @@
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -11256,7 +11307,7 @@
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11281,7 +11332,7 @@
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -11305,7 +11356,7 @@
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -11336,7 +11387,7 @@
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11346,7 +11397,7 @@
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -12128,6 +12179,8 @@
+
+
ac_config_commands="$ac_config_commands libtool"
@@ -16647,7 +16700,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by lighttpd $as_me 1.4.29, which was
+This file was extended by lighttpd $as_me 1.4.30, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16713,7 +16766,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-lighttpd config.status 1.4.29
+lighttpd config.status 1.4.30
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@@ -16856,6 +16909,7 @@
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -16932,7 +16986,6 @@
allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
@@ -16993,6 +17046,7 @@
SHELL \
ECHO \
LD \
+PATH_SEPARATOR \
NM \
LN_S \
lt_SP2NL \
@@ -17038,7 +17092,6 @@
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
exclude_expsyms \
include_expsyms \
@@ -17850,8 +17903,8 @@
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
@@ -17920,6 +17973,9 @@
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
# The host system.
host_alias=$host_alias
host=$host
@@ -18206,10 +18262,6 @@
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
Modified: lighttpd/branches/upstream/current/configure.ac
===================================================================
--- lighttpd/branches/upstream/current/configure.ac 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/configure.ac 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT([lighttpd], [1.4.29], [contact at lighttpd.net])
+AC_INIT([lighttpd], [1.4.30], [contact at lighttpd.net])
AC_CONFIG_SRCDIR([src/server.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_MACRO_DIR([m4])
Modified: lighttpd/branches/upstream/current/doc/config/lighttpd.conf
===================================================================
--- lighttpd/branches/upstream/current/doc/config/lighttpd.conf 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/doc/config/lighttpd.conf 2011-12-18 18:32:06 UTC (rev 557)
@@ -394,6 +394,25 @@
## $SERVER["socket"] == "10.0.0.1:443" {
## ssl.engine = "enable"
## ssl.pemfile = "/etc/ssl/private/www.example.com.pem"
+## #
+## # Mitigate BEAST attack:
+## #
+## # A stricter base cipher suite. For details see:
+## # http://blog.ivanristic.com/2011/10/mitigating-the-beast-attack-on-tls.html
+## #
+## ssl.cipher-list = "ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM"
+## #
+## # Make the server prefer the order of the server side cipher suite instead of the client suite.
+## # This is necessary to mitigate the BEAST attack (unless you disable all non RC4 algorithms).
+## # This option is enabled by default, but only used if ssl.cipher-list is set.
+## #
+## # ssl.honor-cipher-order = "enable"
+## #
+## # Mitigate CVE-2009-3555 by disabling client triggered renegotation
+## # This is enabled by default.
+## #
+## # ssl.disable-client-renegotiation = "enable"
+## #
## server.name = "www.example.com"
##
## server.document-root = "/srv/www/vhosts/example.com/www/"
Modified: lighttpd/branches/upstream/current/ltmain.sh
===================================================================
--- lighttpd/branches/upstream/current/ltmain.sh 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/ltmain.sh 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,9 +1,9 @@
-# libtool (GNU libtool) 2.4
+# libtool (GNU libtool) 2.4.2
# Written by Gordon Matzigkeit , 1996
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -41,6 +41,7 @@
# --quiet, --silent don't print informational messages
# --no-quiet, --no-silent
# print informational messages (default)
+# --no-warn don't display warning messages
# --tag=TAG use configuration variables from tag TAG
# -v, --verbose print more informational messages than default
# --no-verbose don't print the extra informational messages
@@ -69,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4 Debian-2.4-2
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -79,9 +80,9 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4 Debian-2.4-2"
+VERSION="2.4.2 Debian-2.4.2-1"
TIMESTAMP=""
-package_revision=1.3293
+package_revision=1.3337
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -136,15 +137,10 @@
: ${CP="cp -f"}
test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
-: ${SED="/bin/sed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}
@@ -387,7 +383,7 @@
;;
*)
save_IFS="$IFS"
- IFS=:
+ IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
IFS="$save_IFS"
test -x "$progdir/$progname" && break
@@ -771,8 +767,8 @@
s*\$LTCFLAGS*'"$LTCFLAGS"'*
s*\$LD*'"$LD"'*
s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
p
d
}
@@ -1052,6 +1048,7 @@
opt_help=false
opt_help_all=false
opt_silent=:
+opt_warning=:
opt_verbose=:
opt_silent=false
opt_verbose=false
@@ -1120,6 +1117,10 @@
opt_silent=false
func_append preserve_args " $opt"
;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
--no-verbose)
opt_verbose=false
func_append preserve_args " $opt"
@@ -2059,7 +2060,7 @@
*.[cCFSifmso] | \
*.ada | *.adb | *.ads | *.asm | \
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
- *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
func_xform "$libobj"
libobj=$func_xform_result
;;
@@ -3201,11 +3202,13 @@
# Set up the ranlib parameters.
oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $oldlib" 'exit $?'
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
fi
# Do each command in the postinstall commands.
@@ -3470,7 +3473,7 @@
# linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
@@ -3982,14 +3985,17 @@
# launches target application with the remaining arguments.
func_exec_program ()
{
- for lt_wr_arg
- do
- case \$lt_wr_arg in
- --lt-*) ;;
- *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
- esac
- shift
- done
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
func_exec_program_core \${1+\"\$@\"}
}
@@ -5057,9 +5063,15 @@
{
EOF
func_emit_wrapper yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
-
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
cat <<"EOF"
}
EOF
@@ -5643,7 +5655,8 @@
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
@@ -6150,7 +6163,8 @@
lib=
found=no
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
@@ -6834,7 +6848,7 @@
test "$hardcode_direct_absolute" = no; then
add="$dir/$linklib"
elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
+ add_dir="-L$absdir"
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -7319,6 +7333,7 @@
# which has an extra 1 added just for fun
#
case $version_type in
+ # correct linux to gnu/linux during the next big refactor
darwin|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
@@ -7438,7 +7453,7 @@
versuffix="$major.$revision"
;;
- linux)
+ linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
versuffix="$major.$age.$revision"
@@ -8026,6 +8041,11 @@
# Test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
if test "$hardcode_into_libs" = yes; then
# Hardcode the library paths
hardcode_libdirs=
@@ -8056,7 +8076,7 @@
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) func_apped perm_rpath " $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
done
@@ -8064,11 +8084,7 @@
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
@@ -9158,6 +9174,8 @@
esac
done
fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
func_len " $cmds"
@@ -9267,7 +9285,8 @@
*.la)
func_basename "$deplib"
name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
func_fatal_error "\`$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
Modified: lighttpd/branches/upstream/current/m4/libtool.m4
===================================================================
--- lighttpd/branches/upstream/current/m4/libtool.m4 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/m4/libtool.m4 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,8 +1,8 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
m4_define([_LT_COPYING], [dnl
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
@@ -146,6 +146,8 @@
AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
@@ -637,7 +639,7 @@
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
@@ -801,6 +803,7 @@
m4_case([$1],
[C], [_LT_LANG(C)],
[C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
[Java], [_LT_LANG(GCJ)],
[Fortran 77], [_LT_LANG(F77)],
[Fortran], [_LT_LANG(FC)],
@@ -822,6 +825,31 @@
])# _LT_LANG
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
# _LT_LANG_DEFAULT_CONFIG
# -----------------------
m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@
m4_ifdef([LT_PROG_GCJ],
[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
AC_PROVIDE_IFELSE([LT_PROG_RC],
[LT_LANG(RC)],
[m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@
rm -rf libconftest.dylib*
rm -f conftest.*
fi])
+
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS="$save_LDFLAGS"
])
+
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
[lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@
])
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
# Checks for linker and compiler features on darwin
m4_defun([_LT_DARWIN_LINKER_FEATURES],
[
@@ -1047,6 +1089,8 @@
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
if test "$lt_cv_ld_force_load" = "yes"; then
_LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
@@ -1330,14 +1374,27 @@
CFLAGS="$SAVE_CFLAGS"
fi
;;
-sparc*-*solaris*)
+*-*solaris*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
@@ -1414,13 +1471,13 @@
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
@@ -1600,6 +1657,11 @@
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1639,7 +1701,7 @@
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
@@ -2185,7 +2247,7 @@
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -2194,7 +2256,7 @@
;;
aix[[4-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -2259,7 +2321,7 @@
;;
bsdi[[45]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -2398,7 +2460,7 @@
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2406,10 +2468,6 @@
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -2417,7 +2475,7 @@
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[[123]]*) objformat=aout ;;
+ freebsd[[23]].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -2435,7 +2493,7 @@
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2455,7 +2513,7 @@
;;
gnu*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
@@ -2466,7 +2524,7 @@
;;
haiku*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
@@ -2527,7 +2585,7 @@
;;
interix[[3-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2543,7 +2601,7 @@
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
@@ -2580,9 +2638,9 @@
dynamic_linker=no
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2657,7 +2715,7 @@
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -2726,7 +2784,7 @@
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2751,7 +2809,7 @@
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2775,7 +2833,7 @@
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2806,7 +2864,7 @@
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2816,7 +2874,7 @@
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -3238,7 +3296,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3658,6 +3716,7 @@
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -4242,7 +4301,9 @@
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
;;
esac
else
@@ -4334,18 +4395,33 @@
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
esac
;;
esac
@@ -4505,7 +4581,9 @@
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*) ;;
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@@ -4533,7 +4611,6 @@
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4787,8 +4864,7 @@
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
@@ -5084,6 +5160,7 @@
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
@@ -5130,10 +5207,6 @@
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@@ -5146,7 +5219,7 @@
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5185,7 +5258,6 @@
fi
if test "$with_gnu_ld" = no; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -5627,9 +5699,6 @@
_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
[Flag to hardcode $libdir into a binary during linking.
This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
@@ -5787,7 +5856,6 @@
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -6157,7 +6225,7 @@
esac
;;
- freebsd[[12]]*)
+ freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -6918,12 +6986,18 @@
}
};
_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
])
_lt_libdeps_save_CFLAGS=$CFLAGS
case "$CC $CFLAGS " in #(
*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
esac
dnl Parse the compiler output and extract the necessary
@@ -7120,7 +7194,6 @@
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7253,7 +7326,6 @@
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7440,6 +7512,77 @@
])# _LT_LANG_GCJ_CONFIG
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
# _LT_LANG_RC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
@@ -7509,6 +7652,13 @@
dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
# LT_PROG_RC
# ----------
AC_DEFUN([LT_PROG_RC],
Modified: lighttpd/branches/upstream/current/m4/ltoptions.m4
===================================================================
--- lighttpd/branches/upstream/current/m4/ltoptions.m4 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/m4/ltoptions.m4 2011-12-18 18:32:06 UTC (rev 557)
@@ -326,9 +326,24 @@
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
[pic_mode=default])
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
Modified: lighttpd/branches/upstream/current/m4/ltversion.m4
===================================================================
--- lighttpd/branches/upstream/current/m4/ltversion.m4 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/m4/ltversion.m4 2011-12-18 18:32:06 UTC (rev 557)
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 3293 ltversion.m4
+# serial 3337 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
+[macro_version='2.4.2'
+macro_revision='1.3337'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
Modified: lighttpd/branches/upstream/current/src/Makefile.am
===================================================================
--- lighttpd/branches/upstream/current/src/Makefile.am 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/Makefile.am 2011-12-18 18:32:06 UTC (rev 557)
@@ -241,7 +241,7 @@
mod_compress_la_LIBADD = $(Z_LIB) $(BZ_LIB) $(common_libadd)
lib_LTLIBRARIES += mod_auth.la
-mod_auth_la_SOURCES = mod_auth.c http_auth_digest.c http_auth.c
+mod_auth_la_SOURCES = mod_auth.c http_auth.c
mod_auth_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_auth_la_LIBADD = $(CRYPT_LIB) $(LDAP_LIB) $(LBER_LIB) $(common_libadd)
@@ -268,7 +268,7 @@
hdr = server.h buffer.h network.h log.h keyvalue.h \
response.h request.h fastcgi.h chunk.h \
- settings.h http_chunk.h http_auth_digest.h \
+ settings.h http_chunk.h \
md5.h http_auth.h stream.h \
fdevent.h connections.h base.h stat_cache.h \
plugin.h mod_auth.h \
Modified: lighttpd/branches/upstream/current/src/Makefile.in
===================================================================
--- lighttpd/branches/upstream/current/src/Makefile.in 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/Makefile.in 2011-12-18 18:32:06 UTC (rev 557)
@@ -158,7 +158,7 @@
$(mod_alias_la_LDFLAGS) $(LDFLAGS) -o $@
mod_auth_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-am_mod_auth_la_OBJECTS = mod_auth.lo http_auth_digest.lo http_auth.lo
+am_mod_auth_la_OBJECTS = mod_auth.lo http_auth.lo
mod_auth_la_OBJECTS = $(am_mod_auth_la_OBJECTS)
mod_auth_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -769,7 +769,7 @@
mod_compress_la_SOURCES = mod_compress.c
mod_compress_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_compress_la_LIBADD = $(Z_LIB) $(BZ_LIB) $(common_libadd)
-mod_auth_la_SOURCES = mod_auth.c http_auth_digest.c http_auth.c
+mod_auth_la_SOURCES = mod_auth.c http_auth.c
mod_auth_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_auth_la_LIBADD = $(CRYPT_LIB) $(LDAP_LIB) $(LBER_LIB) $(common_libadd)
mod_rewrite_la_SOURCES = mod_rewrite.c
@@ -786,7 +786,7 @@
mod_accesslog_la_LIBADD = $(common_libadd)
hdr = server.h buffer.h network.h log.h keyvalue.h \
response.h request.h fastcgi.h chunk.h \
- settings.h http_chunk.h http_auth_digest.h \
+ settings.h http_chunk.h \
md5.h http_auth.h stream.h \
fdevent.h connections.h base.h stat_cache.h \
plugin.h mod_auth.h \
@@ -1050,7 +1050,6 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fdevent_solaris_port.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http-header-glue.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http_auth.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http_auth_digest.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http_chunk.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/inet_ntop_cache.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/joblist.Po at am__quote@
Modified: lighttpd/branches/upstream/current/src/SConscript
===================================================================
--- lighttpd/branches/upstream/current/src/SConscript 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/SConscript 2011-12-18 18:32:06 UTC (rev 557)
@@ -12,7 +12,8 @@
data_integer.c md5.c data_fastcgi.c \
fdevent_select.c fdevent_libev.c \
fdevent_poll.c fdevent_linux_sysepoll.c \
- fdevent_solaris_devpoll.c fdevent_freebsd_kqueue.c \
+ fdevent_solaris_devpoll.c fdevent_solaris_port.c \
+ fdevent_freebsd_kqueue.c \
data_config.c bitset.c \
inet_ntop_cache.c crc32.c \
connections-glue.c \
@@ -62,7 +63,7 @@
'mod_redirect' : { 'src' : [ 'mod_redirect.c' ], 'lib' : [ env['LIBPCRE'] ] },
'mod_rewrite' : { 'src' : [ 'mod_rewrite.c' ], 'lib' : [ env['LIBPCRE'] ] },
'mod_auth' : {
- 'src' : [ 'mod_auth.c', 'http_auth_digest.c', 'http_auth.c' ],
+ 'src' : [ 'mod_auth.c', 'http_auth.c' ],
'lib' : [ env['LIBCRYPT'], env['LIBLDAP'], env['LIBLBER'] ] },
'mod_webdav' : { 'src' : [ 'mod_webdav.c' ], 'lib' : [ env['LIBXML2'], env['LIBSQLITE3'], env['LIBUUID'] ] },
'mod_mysql_vhost' : { 'src' : [ 'mod_mysql_vhost.c' ], 'lib' : [ env['LIBMYSQL'] ] },
Modified: lighttpd/branches/upstream/current/src/base.h
===================================================================
--- lighttpd/branches/upstream/current/src/base.h 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/base.h 2011-12-18 18:32:06 UTC (rev 557)
@@ -277,6 +277,7 @@
buffer *ssl_cipher_list;
buffer *ssl_dh_file;
buffer *ssl_ec_curve;
+ unsigned short ssl_honor_cipher_order; /* determine SSL cipher in server-preferred order, not client-order */
unsigned short ssl_use_sslv2;
unsigned short ssl_use_sslv3;
unsigned short ssl_verifyclient;
@@ -284,6 +285,7 @@
unsigned short ssl_verifyclient_depth;
buffer *ssl_verifyclient_username;
unsigned short ssl_verifyclient_export_cert;
+ unsigned short ssl_disable_client_renegotiation;
unsigned short use_ipv6, set_v6only; /* set_v6only is only a temporary option */
unsigned short defer_accept;
@@ -437,6 +439,7 @@
# ifndef OPENSSL_NO_TLSEXT
buffer *tlsext_server_name;
# endif
+ unsigned int renegotiations; /* count of SSL_CB_HANDSHAKE_START */
#endif
/* etag handling */
etag_flags_t etag_flags;
@@ -647,11 +650,9 @@
fdevent_handler_t event_handler;
- int (* network_backend_write)(struct server *srv, connection *con, int fd, chunkqueue *cq);
- int (* network_backend_read)(struct server *srv, connection *con, int fd, chunkqueue *cq);
+ int (* network_backend_write)(struct server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
#ifdef USE_OPENSSL
- int (* network_ssl_backend_write)(struct server *srv, connection *con, SSL *ssl, chunkqueue *cq);
- int (* network_ssl_backend_read)(struct server *srv, connection *con, SSL *ssl, chunkqueue *cq);
+ int (* network_ssl_backend_write)(struct server *srv, connection *con, SSL *ssl, chunkqueue *cq, off_t max_bytes);
#endif
uid_t uid;
Modified: lighttpd/branches/upstream/current/src/configfile.c
===================================================================
--- lighttpd/branches/upstream/current/src/configfile.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/configfile.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -105,6 +105,8 @@
{ "ssl.use-sslv3", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 62 */
{ "ssl.dh-file", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 63 */
{ "ssl.ec-curve", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 64 */
+ { "ssl.disable-client-renegotiation", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER },/* 65 */
+ { "ssl.honor-cipher-order", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 66 */
{ "server.host", "use server.bind instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
{ "server.docroot", "use server.document-root instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
@@ -176,6 +178,7 @@
s->max_write_idle = 360;
s->use_xattr = 0;
s->is_ssl = 0;
+ s->ssl_honor_cipher_order = 1;
s->ssl_use_sslv2 = 0;
s->ssl_use_sslv3 = 1;
s->use_ipv6 = 0;
@@ -199,6 +202,7 @@
s->ssl_verifyclient_username = buffer_init();
s->ssl_verifyclient_depth = 9;
s->ssl_verifyclient_export_cert = 0;
+ s->ssl_disable_client_renegotiation = 1;
cv[2].destination = s->errorfile_prefix;
@@ -245,6 +249,8 @@
cv[62].destination = &(s->ssl_use_sslv3);
cv[63].destination = s->ssl_dh_file;
cv[64].destination = s->ssl_ec_curve;
+ cv[66].destination = &(s->ssl_honor_cipher_order);
+
cv[49].destination = &(s->etag_use_inode);
cv[50].destination = &(s->etag_use_mtime);
cv[51].destination = &(s->etag_use_size);
@@ -255,6 +261,7 @@
cv[58].destination = &(s->ssl_verifyclient_depth);
cv[59].destination = s->ssl_verifyclient_username;
cv[60].destination = &(s->ssl_verifyclient_export_cert);
+ cv[65].destination = &(s->ssl_disable_client_renegotiation);
srv->config_storage[i] = s;
@@ -335,6 +342,7 @@
PATCH(ssl_cipher_list);
PATCH(ssl_dh_file);
PATCH(ssl_ec_curve);
+ PATCH(ssl_honor_cipher_order);
PATCH(ssl_use_sslv2);
PATCH(ssl_use_sslv3);
PATCH(etag_use_inode);
@@ -346,6 +354,7 @@
PATCH(ssl_verifyclient_depth);
PATCH(ssl_verifyclient_username);
PATCH(ssl_verifyclient_export_cert);
+ PATCH(ssl_disable_client_renegotiation);
return 0;
}
@@ -400,6 +409,8 @@
#endif
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.ca-file"))) {
PATCH(ssl_ca_file);
+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.honor-cipher-order"))) {
+ PATCH(ssl_honor_cipher_order);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-sslv2"))) {
PATCH(ssl_use_sslv2);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-sslv3"))) {
@@ -454,6 +465,8 @@
PATCH(ssl_verifyclient_username);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.verifyclient.exportcert"))) {
PATCH(ssl_verifyclient_export_cert);
+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.disable-client-renegotiation"))) {
+ PATCH(ssl_disable_client_renegotiation);
}
}
}
Modified: lighttpd/branches/upstream/current/src/connections.c
===================================================================
--- lighttpd/branches/upstream/current/src/connections.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/connections.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -223,6 +223,12 @@
len = SSL_read(con->ssl, b->ptr + read_offset, toread);
+ if (con->renegotiations > 1 && con->conf.ssl_disable_client_renegotiation) {
+ connection_set_state(srv, con, CON_STATE_ERROR);
+ log_error_write(srv, __FILE__, __LINE__, "s", "SSL: renegotiation initiated by client");
+ return -1;
+ }
+
if (len > 0) {
if (b->used > 0) b->used--;
b->used += len;
@@ -445,6 +451,7 @@
default:
switch(con->http_status) {
case 400: /* bad request */
+ case 401: /* authorization required */
case 414: /* overload request header */
case 505: /* unknown protocol */
case 207: /* this was webdav */
@@ -617,8 +624,9 @@
}
static int connection_handle_write(server *srv, connection *con) {
- switch(network_write_chunkqueue(srv, con, con->write_queue)) {
+ switch(network_write_chunkqueue(srv, con, con->write_queue, MAX_WRITE_LIMIT)) {
case 0:
+ con->write_request_ts = srv->cur_ts;
if (con->file_finished) {
connection_set_state(srv, con, CON_STATE_RESPONSE_END);
joblist_append(srv, con);
@@ -635,6 +643,7 @@
joblist_append(srv, con);
break;
case 1:
+ con->write_request_ts = srv->cur_ts;
con->is_writable = 0;
/* not finished yet -> WRITE */
@@ -1251,8 +1260,6 @@
log_error_write(srv, __FILE__, __LINE__, "ds",
con->fd,
"handle write failed.");
- } else if (con->state == CON_STATE_WRITE) {
- con->write_request_ts = srv->cur_ts;
}
}
@@ -1352,6 +1359,7 @@
return NULL;
}
+ con->renegotiations = 0;
#ifndef OPENSSL_NO_TLSEXT
SSL_set_app_data(con->ssl, con);
#endif
@@ -1667,8 +1675,6 @@
con->fd,
"handle write failed.");
connection_set_state(srv, con, CON_STATE_ERROR);
- } else if (con->state == CON_STATE_WRITE) {
- con->write_request_ts = srv->cur_ts;
}
}
Modified: lighttpd/branches/upstream/current/src/http_auth.c
===================================================================
--- lighttpd/branches/upstream/current/src/http_auth.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/http_auth.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,7 +1,6 @@
#include "server.h"
#include "log.h"
#include "http_auth.h"
-#include "http_auth_digest.h"
#include "inet_ntop_cache.h"
#include "stream.h"
@@ -28,18 +27,23 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
+#define HASHLEN 16
+#define HASHHEXLEN 32
+typedef unsigned char HASH[HASHLEN];
+typedef char HASHHEX[HASHHEXLEN+1];
-#endif
+static void CvtHex(const HASH Bin, char Hex[33]) {
+ unsigned short i;
+ for (i = 0; i < 16; i++) {
+ Hex[i*2] = int2hex((Bin[i] >> 4) & 0xf);
+ Hex[i*2+1] = int2hex(Bin[i] & 0xf);
+ }
+ Hex[32] = '\0';
+}
+
/**
* the $apr1$ handling is taken from apache 1.3.x
*/
@@ -95,7 +99,7 @@
ch = in[0];
/* run through the whole string, converting as we go */
for (i = 0; i < in_len; i++) {
- ch = in[i];
+ ch = (unsigned char) in[i];
if (ch == '\0') break;
@@ -435,7 +439,7 @@
static void to64(char *s, unsigned long v, int n)
{
- static unsigned char itoa64[] = /* 0 ... 63 => ASCII - 64 */
+ static const unsigned char itoa64[] = /* 0 ... 63 => ASCII - 64 */
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
while (--n >= 0) {
@@ -455,7 +459,7 @@
const char *sp, *ep;
unsigned char final[APR_MD5_DIGESTSIZE];
ssize_t sl, pl, i;
- MD5_CTX ctx, ctx1;
+ li_MD5_CTX ctx, ctx1;
unsigned long l;
/*
@@ -487,33 +491,33 @@
/*
* 'Time to make the doughnuts..'
*/
- MD5_Init(&ctx);
+ li_MD5_Init(&ctx);
/*
* The password first, since that is what is most unknown
*/
- MD5_Update(&ctx, pw, strlen(pw));
+ li_MD5_Update(&ctx, pw, strlen(pw));
/*
* Then our magic string
*/
- MD5_Update(&ctx, APR1_ID, strlen(APR1_ID));
+ li_MD5_Update(&ctx, APR1_ID, strlen(APR1_ID));
/*
* Then the raw salt
*/
- MD5_Update(&ctx, sp, sl);
+ li_MD5_Update(&ctx, sp, sl);
/*
* Then just as many characters of the MD5(pw, salt, pw)
*/
- MD5_Init(&ctx1);
- MD5_Update(&ctx1, pw, strlen(pw));
- MD5_Update(&ctx1, sp, sl);
- MD5_Update(&ctx1, pw, strlen(pw));
- MD5_Final(final, &ctx1);
+ li_MD5_Init(&ctx1);
+ li_MD5_Update(&ctx1, pw, strlen(pw));
+ li_MD5_Update(&ctx1, sp, sl);
+ li_MD5_Update(&ctx1, pw, strlen(pw));
+ li_MD5_Final(final, &ctx1);
for (pl = strlen(pw); pl > 0; pl -= APR_MD5_DIGESTSIZE) {
- MD5_Update(&ctx, final,
+ li_MD5_Update(&ctx, final,
(pl > APR_MD5_DIGESTSIZE) ? APR_MD5_DIGESTSIZE : pl);
}
@@ -527,10 +531,10 @@
*/
for (i = strlen(pw); i != 0; i >>= 1) {
if (i & 1) {
- MD5_Update(&ctx, final, 1);
+ li_MD5_Update(&ctx, final, 1);
}
else {
- MD5_Update(&ctx, pw, 1);
+ li_MD5_Update(&ctx, pw, 1);
}
}
@@ -542,7 +546,7 @@
strncat(passwd, sp, sl);
strcat(passwd, "$");
- MD5_Final(final, &ctx);
+ li_MD5_Final(final, &ctx);
/*
* And now, just to make sure things don't run too fast..
@@ -550,28 +554,28 @@
* need 30 seconds to build a 1000 entry dictionary...
*/
for (i = 0; i < 1000; i++) {
- MD5_Init(&ctx1);
+ li_MD5_Init(&ctx1);
if (i & 1) {
- MD5_Update(&ctx1, pw, strlen(pw));
+ li_MD5_Update(&ctx1, pw, strlen(pw));
}
else {
- MD5_Update(&ctx1, final, APR_MD5_DIGESTSIZE);
+ li_MD5_Update(&ctx1, final, APR_MD5_DIGESTSIZE);
}
if (i % 3) {
- MD5_Update(&ctx1, sp, sl);
+ li_MD5_Update(&ctx1, sp, sl);
}
if (i % 7) {
- MD5_Update(&ctx1, pw, strlen(pw));
+ li_MD5_Update(&ctx1, pw, strlen(pw));
}
if (i & 1) {
- MD5_Update(&ctx1, final, APR_MD5_DIGESTSIZE);
+ li_MD5_Update(&ctx1, final, APR_MD5_DIGESTSIZE);
}
else {
- MD5_Update(&ctx1, pw, strlen(pw));
+ li_MD5_Update(&ctx1, pw, strlen(pw));
}
- MD5_Final(final,&ctx1);
+ li_MD5_Final(final,&ctx1);
}
p = passwd + strlen(passwd);
@@ -614,17 +618,17 @@
* user:realm:md5(user:realm:password)
*/
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
HASH HA1;
char a1[256];
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)username->ptr, username->used - 1);
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)realm->ptr, realm->used - 1);
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)pw, strlen(pw));
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)username->ptr, username->used - 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)realm->ptr, realm->used - 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)pw, strlen(pw));
+ li_MD5_Final(HA1, &Md5Ctx);
CvtHex(HA1, a1);
@@ -930,7 +934,7 @@
int i;
buffer *password, *b, *username_buf, *realm_buf;
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
HASH HA1;
HASH HA2;
HASH RespHash;
@@ -1067,13 +1071,13 @@
if (p->conf.auth_backend == AUTH_BACKEND_PLAIN) {
/* generate password from plain-text */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)username, strlen(username));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)realm, strlen(realm));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)password->ptr, password->used - 1);
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)username, strlen(username));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)realm, strlen(realm));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)password->ptr, password->used - 1);
+ li_MD5_Final(HA1, &Md5Ctx);
} else if (p->conf.auth_backend == AUTH_BACKEND_HTDIGEST) {
/* HA1 */
/* transform the 32-byte-hex-md5 to a 16-byte-md5 */
@@ -1090,45 +1094,45 @@
if (algorithm &&
strcasecmp(algorithm, "md5-sess") == 0) {
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)HA1, 16);
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)nonce, strlen(nonce));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)cnonce, strlen(cnonce));
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)HA1, 16);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)nonce, strlen(nonce));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)cnonce, strlen(cnonce));
+ li_MD5_Final(HA1, &Md5Ctx);
}
CvtHex(HA1, a1);
/* calculate H(A2) */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)m, strlen(m));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)uri, strlen(uri));
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)m, strlen(m));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)uri, strlen(uri));
if (qop && strcasecmp(qop, "auth-int") == 0) {
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)"", HASHHEXLEN);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)"", HASHHEXLEN);
}
- MD5_Final(HA2, &Md5Ctx);
+ li_MD5_Final(HA2, &Md5Ctx);
CvtHex(HA2, HA2Hex);
/* calculate response */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)a1, HASHHEXLEN);
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)nonce, strlen(nonce));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)a1, HASHHEXLEN);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)nonce, strlen(nonce));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
if (qop && *qop) {
- MD5_Update(&Md5Ctx, (unsigned char *)nc, strlen(nc));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)cnonce, strlen(cnonce));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
- MD5_Update(&Md5Ctx, (unsigned char *)qop, strlen(qop));
- MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)nc, strlen(nc));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)cnonce, strlen(cnonce));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)qop, strlen(qop));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)":", 1);
};
- MD5_Update(&Md5Ctx, (unsigned char *)HA2Hex, HASHHEXLEN);
- MD5_Final(RespHash, &Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)HA2Hex, HASHHEXLEN);
+ li_MD5_Final(RespHash, &Md5Ctx);
CvtHex(RespHash, a2);
if (0 != strcmp(a2, respons)) {
@@ -1171,24 +1175,24 @@
int http_auth_digest_generate_nonce(server *srv, mod_auth_plugin_data *p, buffer *fn, char out[33]) {
HASH h;
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
char hh[32];
UNUSED(p);
/* generate shared-secret */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)fn->ptr, fn->used - 1);
- MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)fn->ptr, fn->used - 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
/* we assume sizeof(time_t) == 4 here, but if not it ain't a problem at all */
LI_ltostr(hh, srv->cur_ts);
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
LI_ltostr(hh, rand());
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Final(h, &Md5Ctx);
+ li_MD5_Final(h, &Md5Ctx);
CvtHex(h, out);
Deleted: lighttpd/branches/upstream/current/src/http_auth_digest.c
===================================================================
--- lighttpd/branches/upstream/current/src/http_auth_digest.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/http_auth_digest.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,26 +0,0 @@
-#include "buffer.h"
-
-#include "http_auth_digest.h"
-
-#include
-
-#ifndef USE_OPENSSL
-# include "md5.h"
-
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
-void CvtHex(IN HASH Bin, OUT HASHHEX Hex) {
- unsigned short i;
-
- for (i = 0; i < HASHLEN; i++) {
- Hex[i*2] = int2hex((Bin[i] >> 4) & 0xf);
- Hex[i*2+1] = int2hex(Bin[i] & 0xf);
- }
- Hex[HASHHEXLEN] = '\0';
-}
-
Deleted: lighttpd/branches/upstream/current/src/http_auth_digest.h
===================================================================
--- lighttpd/branches/upstream/current/src/http_auth_digest.h 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/http_auth_digest.h 2011-12-18 18:32:06 UTC (rev 557)
@@ -1,24 +0,0 @@
-#ifndef _DIGCALC_H_
-#define _DIGCALC_H_
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#define HASHLEN 16
-typedef unsigned char HASH[HASHLEN];
-#define HASHHEXLEN 32
-typedef char HASHHEX[HASHHEXLEN+1];
-#ifdef USE_OPENSSL
-#define IN const
-#else
-#define IN
-#endif
-#define OUT
-
-void CvtHex(
- IN HASH Bin,
- OUT HASHHEX Hex
- );
-
-#endif
Modified: lighttpd/branches/upstream/current/src/mod_cgi.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_cgi.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_cgi.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -1288,6 +1288,15 @@
#endif
break;
case -1:
+ if (errno == ECHILD) {
+ /* someone else called waitpid... remove the pid to stop looping the error each time */
+ log_error_write(srv, __FILE__, __LINE__, "s", "cgi child vanished, probably someone else called waitpid");
+
+ cgi_pid_del(srv, p, p->cgi_pid.ptr[ndx]);
+ ndx--;
+ continue;
+ }
+
log_error_write(srv, __FILE__, __LINE__, "ss", "waitpid failed: ", strerror(errno));
return HANDLER_ERROR;
Modified: lighttpd/branches/upstream/current/src/mod_cml_funcs.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_cml_funcs.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_cml_funcs.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -17,18 +17,8 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
#define HASHLEN 16
typedef unsigned char HASH[HASHLEN];
#define HASHHEXLEN 32
@@ -43,7 +33,7 @@
#ifdef HAVE_LUA_H
int f_crypto_md5(lua_State *L) {
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
HASH HA1;
buffer b;
char hex[33];
@@ -63,9 +53,9 @@
lua_error(L);
}
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)lua_tostring(L, 1), lua_strlen(L, 1));
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)lua_tostring(L, 1), lua_strlen(L, 1));
+ li_MD5_Final(HA1, &Md5Ctx);
buffer_copy_string_hex(&b, (char *)HA1, 16);
Modified: lighttpd/branches/upstream/current/src/mod_cml_lua.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_cml_lua.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_cml_lua.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -11,18 +11,6 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
-
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
#define HASHLEN 16
typedef unsigned char HASH[HASHLEN];
#define HASHHEXLEN 32
Modified: lighttpd/branches/upstream/current/src/mod_dirlisting.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_dirlisting.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_dirlisting.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -657,7 +657,8 @@
i = dir->used - 1;
#ifdef HAVE_PATHCONF
- if (-1 == (name_max = pathconf(dir->ptr, _PC_NAME_MAX))) {
+ if (0 >= (name_max = pathconf(dir->ptr, _PC_NAME_MAX))) {
+ /* some broken fs (fuse) return 0 instead of -1 */
#ifdef NAME_MAX
name_max = NAME_MAX;
#else
Modified: lighttpd/branches/upstream/current/src/mod_fastcgi.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_fastcgi.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_fastcgi.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -3075,7 +3075,7 @@
fcgi_set_state(srv, hctx, FCGI_STATE_WRITE);
/* fall through */
case FCGI_STATE_WRITE:
- ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb);
+ ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb, MAX_WRITE_LIMIT);
chunkqueue_remove_finished_chunks(hctx->wb);
@@ -3132,7 +3132,6 @@
plugin_data *p = p_d;
handler_ctx *hctx = con->plugin_ctx[p->id];
- fcgi_proc *proc;
fcgi_extension_host *host;
if (NULL == hctx) return HANDLER_GO_ON;
@@ -3201,7 +3200,6 @@
/* ok, create the request */
switch(fcgi_write_request(srv, hctx)) {
case HANDLER_ERROR:
- proc = hctx->proc;
host = hctx->host;
if (hctx->state == FCGI_STATE_INIT ||
Modified: lighttpd/branches/upstream/current/src/mod_proxy.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_proxy.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_proxy.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -825,7 +825,7 @@
/* fall through */
case PROXY_STATE_WRITE:;
- ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb);
+ ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb, MAX_WRITE_LIMIT);
chunkqueue_remove_finished_chunks(hctx->wb);
Modified: lighttpd/branches/upstream/current/src/mod_scgi.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_scgi.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_scgi.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -2296,7 +2296,7 @@
/* fall through */
case FCGI_STATE_WRITE:
- ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb);
+ ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb, MAX_WRITE_LIMIT);
chunkqueue_remove_finished_chunks(hctx->wb);
Modified: lighttpd/branches/upstream/current/src/mod_secure_download.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_secure_download.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_secure_download.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -8,18 +8,8 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
#define HASHLEN 16
typedef unsigned char HASH[HASHLEN];
#define HASHHEXLEN 32
@@ -200,7 +190,7 @@
URIHANDLER_FUNC(mod_secdownload_uri_handler) {
plugin_data *p = p_d;
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
HASH HA1;
const char *rel_uri, *ts_str, *md5_str;
time_t ts = 0;
@@ -266,9 +256,9 @@
buffer_append_string(p->md5, rel_uri);
buffer_append_string_len(p->md5, ts_str, 8);
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)p->md5->ptr, p->md5->used - 1);
- MD5_Final(HA1, &Md5Ctx);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)p->md5->ptr, p->md5->used - 1);
+ li_MD5_Final(HA1, &Md5Ctx);
buffer_copy_string_hex(p->md5, (char *)HA1, 16);
Modified: lighttpd/branches/upstream/current/src/mod_staticfile.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_staticfile.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_staticfile.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -26,6 +26,7 @@
typedef struct {
array *exclude_ext;
unsigned short etags_used;
+ unsigned short disable_pathinfo;
} plugin_config;
typedef struct {
@@ -84,6 +85,7 @@
config_values_t cv[] = {
{ "static-file.exclude-extensions", NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_CONNECTION }, /* 0 */
{ "static-file.etags", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 1 */
+ { "static-file.disable-pathinfo", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 2 */
{ NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
};
@@ -97,9 +99,11 @@
s = calloc(1, sizeof(plugin_config));
s->exclude_ext = array_init();
s->etags_used = 1;
+ s->disable_pathinfo = 0;
cv[0].destination = s->exclude_ext;
cv[1].destination = &(s->etags_used);
+ cv[2].destination = &(s->disable_pathinfo);
p->config_storage[i] = s;
@@ -119,6 +123,7 @@
PATCH(exclude_ext);
PATCH(etags_used);
+ PATCH(disable_pathinfo);
/* skip the first, the global context */
for (i = 1; i < srv->config_context->used; i++) {
@@ -136,7 +141,9 @@
PATCH(exclude_ext);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("static-file.etags"))) {
PATCH(etags_used);
- }
+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("static-file.disable-pathinfo"))) {
+ PATCH(disable_pathinfo);
+ }
}
}
@@ -350,7 +357,6 @@
URIHANDLER_FUNC(mod_staticfile_subrequest) {
plugin_data *p = p_d;
size_t k;
- int s_len;
stat_cache_entry *sce = NULL;
buffer *mtime = NULL;
data_string *ds;
@@ -376,7 +382,12 @@
mod_staticfile_patch_connection(srv, con, p);
- s_len = con->uri.path->used - 1;
+ if (p->conf.disable_pathinfo && 0 != con->request.pathinfo->used) {
+ if (con->conf.log_request_handling) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "-- NOT handling file as static file, pathinfo forbidden");
+ }
+ return HANDLER_GO_ON;
+ }
/* ignore certain extensions */
for (k = 0; k < p->conf.exclude_ext->used; k++) {
Modified: lighttpd/branches/upstream/current/src/mod_status.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_status.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_status.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -487,7 +487,7 @@
buffer_append_string_len(b, CONST_STR_LEN(" | "));
- if (con->request.content_length) {
+ if (c->request.content_length) {
buffer_append_long(b, c->request_content_queue->bytes_in);
buffer_append_string_len(b, CONST_STR_LEN("/"));
buffer_append_long(b, c->request.content_length);
Modified: lighttpd/branches/upstream/current/src/mod_userdir.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_userdir.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_userdir.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -166,7 +166,6 @@
URIHANDLER_FUNC(mod_userdir_docroot_handler) {
plugin_data *p = p_d;
- int uri_len;
size_t k;
char *rel_url;
#ifdef HAVE_PWD_H
@@ -182,8 +181,6 @@
*/
if (p->conf.path->used == 0) return HANDLER_GO_ON;
- uri_len = con->uri.path->used - 1;
-
/* /~user/foo.html -> /home/user/public_html/foo.html */
if (con->uri.path->ptr[0] != '/' ||
Modified: lighttpd/branches/upstream/current/src/mod_usertrack.c
===================================================================
--- lighttpd/branches/upstream/current/src/mod_usertrack.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/mod_usertrack.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -8,18 +8,8 @@
#include
#include
-#ifdef USE_OPENSSL
-# include
-#else
-# include "md5.h"
+#include "md5.h"
-typedef li_MD5_CTX MD5_CTX;
-#define MD5_Init li_MD5_Init
-#define MD5_Update li_MD5_Update
-#define MD5_Final li_MD5_Final
-
-#endif
-
/* plugin config for all request/connections */
typedef struct {
@@ -182,7 +172,7 @@
plugin_data *p = p_d;
data_string *ds;
unsigned char h[16];
- MD5_CTX Md5Ctx;
+ li_MD5_CTX Md5Ctx;
char hh[32];
if (con->uri.path->used == 0) return HANDLER_GO_ON;
@@ -228,18 +218,18 @@
/* taken from mod_auth.c */
/* generate shared-secret */
- MD5_Init(&Md5Ctx);
- MD5_Update(&Md5Ctx, (unsigned char *)con->uri.path->ptr, con->uri.path->used - 1);
- MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
+ li_MD5_Init(&Md5Ctx);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)con->uri.path->ptr, con->uri.path->used - 1);
+ li_MD5_Update(&Md5Ctx, (unsigned char *)"+", 1);
/* we assume sizeof(time_t) == 4 here, but if not it ain't a problem at all */
LI_ltostr(hh, srv->cur_ts);
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)srv->entropy, sizeof(srv->entropy));
LI_ltostr(hh, rand());
- MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
+ li_MD5_Update(&Md5Ctx, (unsigned char *)hh, strlen(hh));
- MD5_Final(h, &Md5Ctx);
+ li_MD5_Final(h, &Md5Ctx);
buffer_append_string_encoded(ds->value, (char *)h, 16, ENCODING_HEX);
buffer_append_string_len(ds->value, CONST_STR_LEN("; Path=/"));
Modified: lighttpd/branches/upstream/current/src/network.c
===================================================================
--- lighttpd/branches/upstream/current/src/network.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -27,6 +27,19 @@
# include
#endif
+#ifdef USE_OPENSSL
+static void ssl_info_callback(const SSL *ssl, int where, int ret) {
+ UNUSED(ret);
+
+ if (0 != (where & SSL_CB_HANDSHAKE_START)) {
+ connection *con = SSL_get_app_data(ssl);
+ ++con->renegotiations;
+ } else if (0 != (where & SSL_CB_HANDSHAKE_DONE)) {
+ ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+ }
+}
+#endif
+
static handler_t network_server_handle_fdevent(server *srv, void *context, int revents) {
server_socket *srv_socket = (server_socket *)context;
connection *con;
@@ -480,9 +493,11 @@
network_backend_t backend;
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
+#ifndef OPENSSL_NO_ECDH
EC_KEY *ecdh;
int nid;
#endif
+#endif
#ifdef USE_OPENSSL
DH *dh;
@@ -553,6 +568,11 @@
/* load SSL certificates */
for (i = 0; i < srv->config_context->used; i++) {
specific_config *s = srv->config_storage[i];
+#ifndef SSL_OP_NO_COMPRESSION
+# define SSL_OP_NO_COMPRESSION 0
+#endif
+ long ssloptions =
+ SSL_OP_ALL | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION | SSL_OP_NO_COMPRESSION;
if (buffer_is_empty(s->ssl_pemfile)) continue;
@@ -586,6 +606,9 @@
return -1;
}
+ SSL_CTX_set_options(s->ssl_ctx, ssloptions);
+ SSL_CTX_set_info_callback(s->ssl_ctx, ssl_info_callback);
+
if (!s->ssl_use_sslv2) {
/* disable SSLv2 */
if (!(SSL_OP_NO_SSLv2 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_SSLv2))) {
@@ -611,6 +634,10 @@
ERR_error_string(ERR_get_error(), NULL));
return -1;
}
+
+ if (s->ssl_honor_cipher_order) {
+ SSL_CTX_set_options(s->ssl_ctx, SSL_OP_CIPHER_SERVER_PREFERENCE);
+ }
}
/* Support for Diffie-Hellman key exchange */
@@ -847,7 +874,7 @@
return 0;
}
-int network_write_chunkqueue(server *srv, connection *con, chunkqueue *cq) {
+int network_write_chunkqueue(server *srv, connection *con, chunkqueue *cq, off_t max_bytes) {
int ret = -1;
off_t written = 0;
#ifdef TCP_CORK
@@ -855,16 +882,34 @@
#endif
server_socket *srv_socket = con->srv_socket;
- if (con->conf.global_kbytes_per_second &&
- *(con->conf.global_bytes_per_second_cnt_ptr) > con->conf.global_kbytes_per_second * 1024) {
- /* we reached the global traffic limit */
+ if (con->conf.global_kbytes_per_second) {
+ off_t limit = con->conf.global_kbytes_per_second * 1024 - *(con->conf.global_bytes_per_second_cnt_ptr);
+ if (limit <= 0) {
+ /* we reached the global traffic limit */
- con->traffic_limit_reached = 1;
- joblist_append(srv, con);
+ con->traffic_limit_reached = 1;
+ joblist_append(srv, con);
- return 1;
+ return 1;
+ } else {
+ if (max_bytes > limit) max_bytes = limit;
+ }
}
+ if (con->conf.kbytes_per_second) {
+ off_t limit = con->conf.kbytes_per_second * 1024 - con->bytes_written_cur_second;
+ if (limit <= 0) {
+ /* we reached the traffic limit */
+
+ con->traffic_limit_reached = 1;
+ joblist_append(srv, con);
+
+ return 1;
+ } else {
+ if (max_bytes > limit) max_bytes = limit;
+ }
+ }
+
written = cq->bytes_out;
#ifdef TCP_CORK
@@ -879,10 +924,10 @@
if (srv_socket->is_ssl) {
#ifdef USE_OPENSSL
- ret = srv->network_ssl_backend_write(srv, con, con->ssl, cq);
+ ret = srv->network_ssl_backend_write(srv, con, con->ssl, cq, max_bytes);
#endif
} else {
- ret = srv->network_backend_write(srv, con, con->fd, cq);
+ ret = srv->network_backend_write(srv, con, con->fd, cq, max_bytes);
}
if (ret >= 0) {
@@ -903,12 +948,5 @@
*(con->conf.global_bytes_per_second_cnt_ptr) += written;
- if (con->conf.kbytes_per_second &&
- (con->bytes_written_cur_second > con->conf.kbytes_per_second * 1024)) {
- /* we reached the traffic limit */
-
- con->traffic_limit_reached = 1;
- joblist_append(srv, con);
- }
return ret;
}
Modified: lighttpd/branches/upstream/current/src/network.h
===================================================================
--- lighttpd/branches/upstream/current/src/network.h 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network.h 2011-12-18 18:32:06 UTC (rev 557)
@@ -3,7 +3,7 @@
#include "server.h"
-int network_write_chunkqueue(server *srv, connection *con, chunkqueue *c);
+int network_write_chunkqueue(server *srv, connection *con, chunkqueue *c, off_t max_bytes);
int network_init(server *srv);
int network_close(server *srv);
Modified: lighttpd/branches/upstream/current/src/network_backends.h
===================================================================
--- lighttpd/branches/upstream/current/src/network_backends.h 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_backends.h 2011-12-18 18:32:06 UTC (rev 557)
@@ -47,18 +47,18 @@
#include "base.h"
/* return values:
- * >= 0 : chunks completed
+ * >= 0 : no error
* -1 : error (on our side)
* -2 : remote close
*/
-int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq);
-int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq);
+int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
+int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes);
#ifdef USE_OPENSSL
-int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq);
+int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq, off_t max_bytes);
#endif
#endif
Modified: lighttpd/branches/upstream/current/src/network_freebsd_sendfile.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_freebsd_sendfile.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_freebsd_sendfile.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -31,17 +31,16 @@
# endif
#endif
-int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -49,12 +48,10 @@
chunk *tc;
size_t num_bytes = 0;
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < UIO_MAXIOV
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for(num_chunks = 0, tc = c; tc && tc->type == MEM_CHUNK && num_chunks < UIO_MAXIOV; num_chunks++, tc = tc->next);
@@ -69,9 +66,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -105,6 +102,7 @@
/* check which chunks have been written */
cq->bytes_out += r;
+ max_bytes -= r;
for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
if (r >= (ssize_t)chunks[i].iov_len) {
@@ -114,11 +112,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -134,7 +131,7 @@
}
case FILE_CHUNK: {
off_t offset, r;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
if (HANDLER_ERROR == stat_cache_get_entry(srv, con, c->file.name, &sce)) {
@@ -144,9 +141,8 @@
}
offset = c->file.start + c->offset;
- /* limit the toSend to 2^31-1 bytes in a chunk */
- toSend = c->file.length - c->offset > ((1 << 30) - 1) ?
- ((1 << 30) - 1) : c->file.length - c->offset;
+ toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (-1 == c->file.fd) {
if (-1 == (c->file.fd = open(c->file.name->ptr, O_RDONLY))) {
@@ -197,6 +193,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -218,7 +215,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/branches/upstream/current/src/network_linux_sendfile.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_linux_sendfile.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_linux_sendfile.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -27,17 +27,16 @@
/* on linux 2.4.29 + debian/ubuntu we have crashes if this is enabled */
#undef HAVE_POSIX_FADVISE
-int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -45,12 +44,10 @@
chunk *tc;
size_t num_bytes = 0;
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < UIO_MAXIOV
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for (num_chunks = 0, tc = c;
tc && tc->type == MEM_CHUNK && num_chunks < UIO_MAXIOV;
@@ -67,9 +64,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -100,6 +97,7 @@
/* check which chunks have been written */
cq->bytes_out += r;
+ max_bytes -= r;
for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
if (r >= (ssize_t)chunks[i].iov_len) {
@@ -109,11 +107,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -130,13 +127,12 @@
case FILE_CHUNK: {
ssize_t r;
off_t offset;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
offset = c->file.start + c->offset;
- /* limit the toSend to 2^31-1 bytes in a chunk */
- toSend = c->file.length - c->offset > ((1 << 30) - 1) ?
- ((1 << 30) - 1) : c->file.length - c->offset;
+ toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
/* open file if not already opened */
if (-1 == c->file.fd) {
@@ -215,6 +211,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -243,7 +240,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/branches/upstream/current/src/network_openssl.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_openssl.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_openssl.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -27,10 +27,9 @@
# include
# include
-int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq) {
+int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq, off_t max_bytes) {
int ssl_r;
chunk *c;
- size_t chunks_written = 0;
/* this is a 64k sendbuffer
*
@@ -59,13 +58,13 @@
SSL_set_shutdown(ssl, SSL_RECEIVED_SHUTDOWN);
}
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
if (c->mem->used == 0 || c->mem->used == 1) {
@@ -75,6 +74,7 @@
offset = c->mem->ptr + c->offset;
toSend = c->mem->used - 1 - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
/**
* SSL_write man-page
@@ -87,7 +87,14 @@
*/
ERR_clear_error();
- if ((r = SSL_write(ssl, offset, toSend)) <= 0) {
+ r = SSL_write(ssl, offset, toSend);
+
+ if (con->renegotiations > 1 && con->conf.ssl_disable_client_renegotiation) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "SSL: renegotiation initiated by client");
+ return -1;
+ }
+
+ if (r <= 0) {
unsigned long err;
switch ((ssl_r = SSL_get_error(ssl, r))) {
@@ -139,6 +146,7 @@
} else {
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
}
if (c->offset == (off_t)c->mem->used - 1) {
@@ -168,6 +176,7 @@
do {
off_t offset = c->file.start + c->offset;
off_t toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (toSend > LOCAL_SEND_BUFSIZE) toSend = LOCAL_SEND_BUFSIZE;
@@ -190,7 +199,14 @@
close(ifd);
ERR_clear_error();
- if ((r = SSL_write(ssl, s, toSend)) <= 0) {
+ r = SSL_write(ssl, s, toSend);
+
+ if (con->renegotiations > 1 && con->conf.ssl_disable_client_renegotiation) {
+ log_error_write(srv, __FILE__, __LINE__, "s", "SSL: renegotiation initiated by client");
+ return -1;
+ }
+
+ if (r <= 0) {
unsigned long err;
switch ((ssl_r = SSL_get_error(ssl, r))) {
@@ -243,12 +259,13 @@
} else {
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
}
if (c->offset == c->file.length) {
chunk_finished = 1;
}
- } while(!chunk_finished && !write_wait);
+ } while (!chunk_finished && !write_wait && max_bytes > 0);
break;
}
@@ -263,11 +280,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/branches/upstream/current/src/network_solaris_sendfilev.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_solaris_sendfilev.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_solaris_sendfilev.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -38,17 +38,16 @@
*/
-int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next, chunks_written++) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -77,9 +76,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -119,11 +118,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -139,8 +137,8 @@
}
case FILE_CHUNK: {
ssize_t r;
- off_t offset;
- size_t toSend, written;
+ off_t offset, toSend;
+ size_t written;
sendfilevec_t fvec;
stat_cache_entry *sce = NULL;
int ifd;
@@ -153,6 +151,7 @@
offset = c->file.start + c->offset;
toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
if (offset > sce->st.st_size) {
log_error_write(srv, __FILE__, __LINE__, "sb", "file was shrinked:", c->file.name);
@@ -186,6 +185,7 @@
close(ifd);
c->offset += written;
cq->bytes_out += written;
+ max_bytes -= written;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -207,7 +207,7 @@
}
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/branches/upstream/current/src/network_write.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_write.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_write.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -24,17 +24,16 @@
# include
#endif
-int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
if (c->mem->used == 0) {
@@ -44,6 +43,8 @@
offset = c->mem->ptr + c->offset;
toSend = c->mem->used - 1 - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
+
#ifdef __WIN32
if ((r = send(fd, offset, toSend, 0)) < 0) {
/* no error handling for windows... */
@@ -72,6 +73,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == (off_t)c->mem->used - 1) {
chunk_finished = 1;
@@ -85,7 +87,7 @@
#endif
ssize_t r;
off_t offset;
- size_t toSend;
+ off_t toSend;
stat_cache_entry *sce = NULL;
int ifd;
@@ -98,6 +100,8 @@
offset = c->file.start + c->offset;
toSend = c->file.length - c->offset;
+ if (toSend > max_bytes) toSend = max_bytes;
+
if (offset > sce->st.st_size) {
log_error_write(srv, __FILE__, __LINE__, "sb", "file was shrinked:", c->file.name);
@@ -181,6 +185,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -200,11 +205,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#if 0
Modified: lighttpd/branches/upstream/current/src/network_writev.c
===================================================================
--- lighttpd/branches/upstream/current/src/network_writev.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/network_writev.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -30,17 +30,16 @@
#define LOCAL_BUFFERING 1
#endif
-int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq) {
+int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq, off_t max_bytes) {
chunk *c;
- size_t chunks_written = 0;
- for(c = cq->first; c; c = c->next) {
+ for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
int chunk_finished = 0;
switch(c->type) {
case MEM_CHUNK: {
char * offset;
- size_t toSend;
+ off_t toSend;
ssize_t r;
size_t num_chunks, i;
@@ -65,12 +64,10 @@
#error "sysconf() doesnt return _SC_IOV_MAX ..., check the output of 'man writev' for the EINVAL error and send the output to jan at kneschke.de"
#endif
- /* we can't send more then SSIZE_MAX bytes in one chunk */
-
/* build writev list
*
* 1. limit: num_chunks < max_chunks
- * 2. limit: num_bytes < SSIZE_MAX
+ * 2. limit: num_bytes < max_bytes
*/
for (num_chunks = 0, tc = c; tc && tc->type == MEM_CHUNK && num_chunks < max_chunks; num_chunks++, tc = tc->next);
@@ -87,9 +84,9 @@
chunks[i].iov_base = offset;
/* protect the return value of writev() */
- if (toSend > SSIZE_MAX ||
- num_bytes + toSend > SSIZE_MAX) {
- chunks[i].iov_len = SSIZE_MAX - num_bytes;
+ if (toSend > max_bytes ||
+ (off_t) num_bytes + toSend > max_bytes) {
+ chunks[i].iov_len = max_bytes - num_bytes;
num_chunks = i + 1;
break;
@@ -121,6 +118,7 @@
}
cq->bytes_out += r;
+ max_bytes -= r;
/* check which chunks have been written */
@@ -132,11 +130,10 @@
if (chunk_finished) {
/* skip the chunks from further touches */
- chunks_written++;
c = c->next;
} else {
/* chunks_written + c = c->next is done in the for()*/
- chunk_finished++;
+ chunk_finished = 1;
}
} else {
/* partially written */
@@ -284,6 +281,8 @@
assert(toSend < 0);
}
+ if (toSend > max_bytes) toSend = max_bytes;
+
#ifdef LOCAL_BUFFERING
start = c->mem->ptr;
#else
@@ -309,6 +308,7 @@
c->offset += r;
cq->bytes_out += r;
+ max_bytes -= r;
if (c->offset == c->file.length) {
chunk_finished = 1;
@@ -334,11 +334,9 @@
break;
}
-
- chunks_written++;
}
- return chunks_written;
+ return 0;
}
#endif
Modified: lighttpd/branches/upstream/current/src/request.c
===================================================================
--- lighttpd/branches/upstream/current/src/request.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/request.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -49,7 +49,7 @@
if (++colon_cnt > 7) {
return -1;
}
- } else if (!light_isxdigit(*c)) {
+ } else if (!light_isxdigit(*c) && '.' != *c) {
return -1;
}
}
Modified: lighttpd/branches/upstream/current/src/server.c
===================================================================
--- lighttpd/branches/upstream/current/src/server.c 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/server.c 2011-12-18 18:32:06 UTC (rev 557)
@@ -1120,6 +1120,14 @@
"s", "fdevent_init failed");
return -1;
}
+
+ /* libev backend overwrites our SIGCHLD handler and calls waitpid on SIGCHLD; we want our own SIGCHLD handling. */
+#ifdef HAVE_SIGACTION
+ sigaction(SIGCHLD, &act, NULL);
+#elif defined(HAVE_SIGNAL)
+ signal(SIGCHLD, signal_handler);
+#endif
+
/*
* kqueue() is called here, select resets its internals,
* all server sockets get their handlers
Modified: lighttpd/branches/upstream/current/src/settings.h
===================================================================
--- lighttpd/branches/upstream/current/src/settings.h 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/src/settings.h 2011-12-18 18:32:06 UTC (rev 557)
@@ -21,8 +21,11 @@
* 64kB (no real reason, just a guess)
*/
#define BUFFER_MAX_REUSE_SIZE (4 * 1024)
-#define MAX_READ_LIMIT (4*1024*1024)
+/* both should be way smaller than SSIZE_MAX :) */
+#define MAX_READ_LIMIT (256*1024)
+#define MAX_WRITE_LIMIT (256*1024)
+
/**
* max size of the HTTP request header
*
Modified: lighttpd/branches/upstream/current/tests/lighttpd.conf
===================================================================
--- lighttpd/branches/upstream/current/tests/lighttpd.conf 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/tests/lighttpd.conf 2011-12-18 18:32:06 UTC (rev 557)
@@ -149,6 +149,7 @@
$HTTP["host"] == "zzz.example.org" {
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
+ static-file.disable-pathinfo = "enable"
}
$HTTP["host"] == "symlink.example.org" {
Modified: lighttpd/branches/upstream/current/tests/mod-auth.t
===================================================================
--- lighttpd/branches/upstream/current/tests/mod-auth.t 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/tests/mod-auth.t 2011-12-18 18:32:06 UTC (rev 557)
@@ -8,7 +8,7 @@
use strict;
use IO::Socket;
-use Test::More tests => 14;
+use Test::More tests => 15;
use LightyTest;
my $tf = LightyTest->new();
@@ -25,6 +25,14 @@
$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 401 } ];
+ok($tf->handle_http($t) == 0, 'Basic-Auth: Invalid base64 Auth-token');
+
+$t->{REQUEST} = ( < 44;
+use Test::More tests => 46;
use LightyTest;
my $tf = LightyTest->new();
@@ -413,5 +413,21 @@
$t->{SLOWREQUEST} = 1;
ok($tf->handle_http($t) == 0, 'GET, slow \\r\\n\\r\\n (#2105)');
+print "\nPathinfo for static files\n";
+$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'Content-Type' => 'image/jpeg' } ];
+ok($tf->handle_http($t) == 0, 'static file accepting pathinfo by default');
+
+$t->{REQUEST} = ( <{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 403 } ];
+ok($tf->handle_http($t) == 0, 'static file with forbidden pathinfo');
+
ok($tf->stop_proc == 0, "Stopping lighttpd");
Modified: lighttpd/branches/upstream/current/tests/wrapper.sh
===================================================================
--- lighttpd/branches/upstream/current/tests/wrapper.sh 2011-11-30 17:41:50 UTC (rev 556)
+++ lighttpd/branches/upstream/current/tests/wrapper.sh 2011-12-18 18:32:06 UTC (rev 557)
@@ -6,4 +6,4 @@
top_builddir=$2
export SHELL srcdir top_builddir
-$3
+exec $3
From atoell-guest at alioth.debian.org Sun Dec 18 20:55:43 2011
From: atoell-guest at alioth.debian.org (=?UTF-8?Q?Arno_T=C3=B6ll?=)
Date: Sun, 18 Dec 2011 20:55:43 +0000
Subject: [pkg-lighttpd] r562 - in lighttpd/tags: . 1.4.28-2 1.4.28-2/debian
1.4.28-2/debian/conf-available
1.4.28-2/debian/conf-available2 1.4.28-2/debian/patches
1.4.28-2/debian/source 1.4.28-2/doc 1.4.28-2/doc/config
1.4.28-2/doc/config/conf.d 1.4.28-2/doc/config/vhosts.d
1.4.28-2/doc/initscripts 1.4.28-2/doc/scripts 1.4.28-2/m4
1.4.28-2/src 1.4.28-2/tests 1.4.28-2/tests/docroot
1.4.28-2/tests/docroot/123 1.4.28-2/tests/docroot/www
1.4.28-2/tests/docroot/www/expire 1.4.28-2/tests/docroot/www/go
1.4.28-2/tests/docroot/www/indexfile
Message-ID:
Author: atoell-guest
Date: 2011-12-18 20:55:43 +0000 (Sun, 18 Dec 2011)
New Revision: 562
Added:
lighttpd/tags/1.4.28-2/
lighttpd/tags/1.4.28-2/AUTHORS
lighttpd/tags/1.4.28-2/COPYING
lighttpd/tags/1.4.28-2/INSTALL
lighttpd/tags/1.4.28-2/Makefile.am
lighttpd/tags/1.4.28-2/Makefile.in
lighttpd/tags/1.4.28-2/NEWS
lighttpd/tags/1.4.28-2/README
lighttpd/tags/1.4.28-2/SConstruct
lighttpd/tags/1.4.28-2/aclocal.m4
lighttpd/tags/1.4.28-2/autogen.sh
lighttpd/tags/1.4.28-2/compile
lighttpd/tags/1.4.28-2/config.guess
lighttpd/tags/1.4.28-2/config.h.in
lighttpd/tags/1.4.28-2/config.sub
lighttpd/tags/1.4.28-2/configure
lighttpd/tags/1.4.28-2/configure.ac
lighttpd/tags/1.4.28-2/debian/
lighttpd/tags/1.4.28-2/debian/NEWS
lighttpd/tags/1.4.28-2/debian/changelog
lighttpd/tags/1.4.28-2/debian/compat
lighttpd/tags/1.4.28-2/debian/conf-available/
lighttpd/tags/1.4.28-2/debian/conf-available/05-auth.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-accesslog.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-cgi.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-evasive.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-evhost.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-expire.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-fastcgi.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-flv-streaming.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-no-www.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-proxy.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-rrdtool.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-simple-vhost.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-ssi.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-ssl.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-status.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-userdir.conf
lighttpd/tags/1.4.28-2/debian/conf-available/10-usertrack.conf
lighttpd/tags/1.4.28-2/debian/conf-available/15-fastcgi-php.conf
lighttpd/tags/1.4.28-2/debian/conf-available/90-debian-doc.conf
lighttpd/tags/1.4.28-2/debian/conf-available/README
lighttpd/tags/1.4.28-2/debian/conf-available2/
lighttpd/tags/1.4.28-2/debian/conf-available2/10-cml.conf
lighttpd/tags/1.4.28-2/debian/conf-available2/10-magnet.conf
lighttpd/tags/1.4.28-2/debian/conf-available2/10-trigger-b4-dl.conf
lighttpd/tags/1.4.28-2/debian/conf-available2/10-webdav.conf
lighttpd/tags/1.4.28-2/debian/control
lighttpd/tags/1.4.28-2/debian/copyright
lighttpd/tags/1.4.28-2/debian/create-mime.assign.pl
lighttpd/tags/1.4.28-2/debian/include-conf-enabled.pl
lighttpd/tags/1.4.28-2/debian/index.html
lighttpd/tags/1.4.28-2/debian/lighttpd-doc.install
lighttpd/tags/1.4.28-2/debian/lighttpd-mod-cml.install
lighttpd/tags/1.4.28-2/debian/lighttpd-mod-magnet.install
lighttpd/tags/1.4.28-2/debian/lighttpd-mod-mysql-vhost.install
lighttpd/tags/1.4.28-2/debian/lighttpd-mod-trigger-b4-dl.install
lighttpd/tags/1.4.28-2/debian/lighttpd-mod-webdav.install
lighttpd/tags/1.4.28-2/debian/lighttpd.conf
lighttpd/tags/1.4.28-2/debian/lighttpd.cron.daily
lighttpd/tags/1.4.28-2/debian/lighttpd.dirs
lighttpd/tags/1.4.28-2/debian/lighttpd.docs
lighttpd/tags/1.4.28-2/debian/lighttpd.init
lighttpd/tags/1.4.28-2/debian/lighttpd.install
lighttpd/tags/1.4.28-2/debian/lighttpd.links
lighttpd/tags/1.4.28-2/debian/lighttpd.logrotate
lighttpd/tags/1.4.28-2/debian/lighttpd.manpages
lighttpd/tags/1.4.28-2/debian/lighttpd.postinst
lighttpd/tags/1.4.28-2/debian/lighttpd.postrm
lighttpd/tags/1.4.28-2/debian/lighty-enable-mod
lighttpd/tags/1.4.28-2/debian/lighty-enable-mod.1
lighttpd/tags/1.4.28-2/debian/patches/
lighttpd/tags/1.4.28-2/debian/patches/debian-changes-1.4.28-2
lighttpd/tags/1.4.28-2/debian/patches/series
lighttpd/tags/1.4.28-2/debian/patches/silence-errors.diff
lighttpd/tags/1.4.28-2/debian/rules
lighttpd/tags/1.4.28-2/debian/source/
lighttpd/tags/1.4.28-2/debian/source/format
lighttpd/tags/1.4.28-2/debian/use-ipv6.pl
lighttpd/tags/1.4.28-2/debian/watch
lighttpd/tags/1.4.28-2/depcomp
lighttpd/tags/1.4.28-2/distribute.sh.in
lighttpd/tags/1.4.28-2/doc/
lighttpd/tags/1.4.28-2/doc/Makefile.am
lighttpd/tags/1.4.28-2/doc/Makefile.in
lighttpd/tags/1.4.28-2/doc/access.txt
lighttpd/tags/1.4.28-2/doc/accesslog.txt
lighttpd/tags/1.4.28-2/doc/alias.txt
lighttpd/tags/1.4.28-2/doc/authentication.txt
lighttpd/tags/1.4.28-2/doc/cgi.txt
lighttpd/tags/1.4.28-2/doc/cml.txt
lighttpd/tags/1.4.28-2/doc/compress.txt
lighttpd/tags/1.4.28-2/doc/config/
lighttpd/tags/1.4.28-2/doc/config/Makefile.am
lighttpd/tags/1.4.28-2/doc/config/Makefile.in
lighttpd/tags/1.4.28-2/doc/config/conf.d/
lighttpd/tags/1.4.28-2/doc/config/conf.d/Makefile.am
lighttpd/tags/1.4.28-2/doc/config/conf.d/Makefile.in
lighttpd/tags/1.4.28-2/doc/config/conf.d/access_log.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/auth.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/cgi.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/cml.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/compress.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/debug.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/dirlisting.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/evhost.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/expire.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/fastcgi.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/geoip.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/magnet.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/mime.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/mod.template
lighttpd/tags/1.4.28-2/doc/config/conf.d/mysql_vhost.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/proxy.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/rrdtool.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/scgi.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/secdownload.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/simple_vhost.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/ssi.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/status.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/trigger_b4_dl.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/userdir.conf
lighttpd/tags/1.4.28-2/doc/config/conf.d/webdav.conf
lighttpd/tags/1.4.28-2/doc/config/lighttpd.conf
lighttpd/tags/1.4.28-2/doc/config/modules.conf
lighttpd/tags/1.4.28-2/doc/config/vhosts.d/
lighttpd/tags/1.4.28-2/doc/config/vhosts.d/Makefile.am
lighttpd/tags/1.4.28-2/doc/config/vhosts.d/Makefile.in
lighttpd/tags/1.4.28-2/doc/config/vhosts.d/vhosts.template
lighttpd/tags/1.4.28-2/doc/configuration.txt
lighttpd/tags/1.4.28-2/doc/dirlisting.txt
lighttpd/tags/1.4.28-2/doc/evhost.txt
lighttpd/tags/1.4.28-2/doc/expire.txt
lighttpd/tags/1.4.28-2/doc/extforward.txt
lighttpd/tags/1.4.28-2/doc/fastcgi-state.dot
lighttpd/tags/1.4.28-2/doc/fastcgi-state.txt
lighttpd/tags/1.4.28-2/doc/fastcgi.txt
lighttpd/tags/1.4.28-2/doc/features.txt
lighttpd/tags/1.4.28-2/doc/initscripts/
lighttpd/tags/1.4.28-2/doc/initscripts/Makefile.am
lighttpd/tags/1.4.28-2/doc/initscripts/Makefile.in
lighttpd/tags/1.4.28-2/doc/initscripts/rc.lighttpd
lighttpd/tags/1.4.28-2/doc/initscripts/rc.lighttpd.redhat
lighttpd/tags/1.4.28-2/doc/initscripts/sysconfig.lighttpd
lighttpd/tags/1.4.28-2/doc/lighttpd.8
lighttpd/tags/1.4.28-2/doc/magnet.txt
lighttpd/tags/1.4.28-2/doc/mysqlvhost.txt
lighttpd/tags/1.4.28-2/doc/newstyle.css
lighttpd/tags/1.4.28-2/doc/oldstyle.css
lighttpd/tags/1.4.28-2/doc/performance.txt
lighttpd/tags/1.4.28-2/doc/plugins.txt
lighttpd/tags/1.4.28-2/doc/proxy.txt
lighttpd/tags/1.4.28-2/doc/redirect.txt
lighttpd/tags/1.4.28-2/doc/rewrite.txt
lighttpd/tags/1.4.28-2/doc/rrdtool.txt
lighttpd/tags/1.4.28-2/doc/scgi.txt
lighttpd/tags/1.4.28-2/doc/scripts/
lighttpd/tags/1.4.28-2/doc/scripts/Makefile.am
lighttpd/tags/1.4.28-2/doc/scripts/Makefile.in
lighttpd/tags/1.4.28-2/doc/scripts/rrdtool-graph.sh
lighttpd/tags/1.4.28-2/doc/scripts/spawn-php.sh
lighttpd/tags/1.4.28-2/doc/secdownload.txt
lighttpd/tags/1.4.28-2/doc/security.txt
lighttpd/tags/1.4.28-2/doc/setenv.txt
lighttpd/tags/1.4.28-2/doc/simple-vhost.txt
lighttpd/tags/1.4.28-2/doc/skeleton.txt
lighttpd/tags/1.4.28-2/doc/ssi.txt
lighttpd/tags/1.4.28-2/doc/ssl.txt
lighttpd/tags/1.4.28-2/doc/state.dot
lighttpd/tags/1.4.28-2/doc/state.txt
lighttpd/tags/1.4.28-2/doc/status.txt
lighttpd/tags/1.4.28-2/doc/traffic-shaping.txt
lighttpd/tags/1.4.28-2/doc/trigger_b4_dl.txt
lighttpd/tags/1.4.28-2/doc/userdir.txt
lighttpd/tags/1.4.28-2/doc/webdav.txt
lighttpd/tags/1.4.28-2/install-sh
lighttpd/tags/1.4.28-2/ltmain.sh
lighttpd/tags/1.4.28-2/m4/
lighttpd/tags/1.4.28-2/m4/libtool.m4
lighttpd/tags/1.4.28-2/m4/ltoptions.m4
lighttpd/tags/1.4.28-2/m4/ltsugar.m4
lighttpd/tags/1.4.28-2/m4/ltversion.m4
lighttpd/tags/1.4.28-2/m4/lt~obsolete.m4
lighttpd/tags/1.4.28-2/missing
lighttpd/tags/1.4.28-2/src/
lighttpd/tags/1.4.28-2/src/Makefile.am
lighttpd/tags/1.4.28-2/src/Makefile.in
lighttpd/tags/1.4.28-2/src/SConscript
lighttpd/tags/1.4.28-2/src/array.c
lighttpd/tags/1.4.28-2/src/array.h
lighttpd/tags/1.4.28-2/src/base.h
lighttpd/tags/1.4.28-2/src/bitset.c
lighttpd/tags/1.4.28-2/src/bitset.h
lighttpd/tags/1.4.28-2/src/buffer.c
lighttpd/tags/1.4.28-2/src/buffer.h
lighttpd/tags/1.4.28-2/src/chunk.c
lighttpd/tags/1.4.28-2/src/chunk.h
lighttpd/tags/1.4.28-2/src/configfile-glue.c
lighttpd/tags/1.4.28-2/src/configfile.c
lighttpd/tags/1.4.28-2/src/configfile.h
lighttpd/tags/1.4.28-2/src/configparser.c
lighttpd/tags/1.4.28-2/src/configparser.h
lighttpd/tags/1.4.28-2/src/configparser.y
lighttpd/tags/1.4.28-2/src/connections-glue.c
lighttpd/tags/1.4.28-2/src/connections.c
lighttpd/tags/1.4.28-2/src/connections.h
lighttpd/tags/1.4.28-2/src/crc32.c
lighttpd/tags/1.4.28-2/src/crc32.h
lighttpd/tags/1.4.28-2/src/data_array.c
lighttpd/tags/1.4.28-2/src/data_config.c
lighttpd/tags/1.4.28-2/src/data_count.c
lighttpd/tags/1.4.28-2/src/data_fastcgi.c
lighttpd/tags/1.4.28-2/src/data_integer.c
lighttpd/tags/1.4.28-2/src/data_string.c
lighttpd/tags/1.4.28-2/src/etag.c
lighttpd/tags/1.4.28-2/src/etag.h
lighttpd/tags/1.4.28-2/src/fastcgi.h
lighttpd/tags/1.4.28-2/src/fdevent.c
lighttpd/tags/1.4.28-2/src/fdevent.h
lighttpd/tags/1.4.28-2/src/fdevent_freebsd_kqueue.c
lighttpd/tags/1.4.28-2/src/fdevent_libev.c
lighttpd/tags/1.4.28-2/src/fdevent_linux_sysepoll.c
lighttpd/tags/1.4.28-2/src/fdevent_poll.c
lighttpd/tags/1.4.28-2/src/fdevent_select.c
lighttpd/tags/1.4.28-2/src/fdevent_solaris_devpoll.c
lighttpd/tags/1.4.28-2/src/http-header-glue.c
lighttpd/tags/1.4.28-2/src/http_auth.c
lighttpd/tags/1.4.28-2/src/http_auth.h
lighttpd/tags/1.4.28-2/src/http_auth_digest.c
lighttpd/tags/1.4.28-2/src/http_auth_digest.h
lighttpd/tags/1.4.28-2/src/http_chunk.c
lighttpd/tags/1.4.28-2/src/http_chunk.h
lighttpd/tags/1.4.28-2/src/inet_ntop_cache.c
lighttpd/tags/1.4.28-2/src/inet_ntop_cache.h
lighttpd/tags/1.4.28-2/src/joblist.c
lighttpd/tags/1.4.28-2/src/joblist.h
lighttpd/tags/1.4.28-2/src/keyvalue.c
lighttpd/tags/1.4.28-2/src/keyvalue.h
lighttpd/tags/1.4.28-2/src/lemon.c
lighttpd/tags/1.4.28-2/src/lempar.c
lighttpd/tags/1.4.28-2/src/lighttpd-angel.c
lighttpd/tags/1.4.28-2/src/log.c
lighttpd/tags/1.4.28-2/src/log.h
lighttpd/tags/1.4.28-2/src/md5.c
lighttpd/tags/1.4.28-2/src/md5.h
lighttpd/tags/1.4.28-2/src/mod_access.c
lighttpd/tags/1.4.28-2/src/mod_accesslog.c
lighttpd/tags/1.4.28-2/src/mod_alias.c
lighttpd/tags/1.4.28-2/src/mod_auth.c
lighttpd/tags/1.4.28-2/src/mod_auth.h
lighttpd/tags/1.4.28-2/src/mod_cgi.c
lighttpd/tags/1.4.28-2/src/mod_cml.c
lighttpd/tags/1.4.28-2/src/mod_cml.h
lighttpd/tags/1.4.28-2/src/mod_cml_funcs.c
lighttpd/tags/1.4.28-2/src/mod_cml_funcs.h
lighttpd/tags/1.4.28-2/src/mod_cml_lua.c
lighttpd/tags/1.4.28-2/src/mod_compress.c
lighttpd/tags/1.4.28-2/src/mod_dirlisting.c
lighttpd/tags/1.4.28-2/src/mod_evasive.c
lighttpd/tags/1.4.28-2/src/mod_evhost.c
lighttpd/tags/1.4.28-2/src/mod_expire.c
lighttpd/tags/1.4.28-2/src/mod_extforward.c
lighttpd/tags/1.4.28-2/src/mod_fastcgi.c
lighttpd/tags/1.4.28-2/src/mod_flv_streaming.c
lighttpd/tags/1.4.28-2/src/mod_indexfile.c
lighttpd/tags/1.4.28-2/src/mod_magnet.c
lighttpd/tags/1.4.28-2/src/mod_magnet_cache.c
lighttpd/tags/1.4.28-2/src/mod_magnet_cache.h
lighttpd/tags/1.4.28-2/src/mod_mysql_vhost.c
lighttpd/tags/1.4.28-2/src/mod_proxy.c
lighttpd/tags/1.4.28-2/src/mod_redirect.c
lighttpd/tags/1.4.28-2/src/mod_rewrite.c
lighttpd/tags/1.4.28-2/src/mod_rrdtool.c
lighttpd/tags/1.4.28-2/src/mod_scgi.c
lighttpd/tags/1.4.28-2/src/mod_secure_download.c
lighttpd/tags/1.4.28-2/src/mod_setenv.c
lighttpd/tags/1.4.28-2/src/mod_simple_vhost.c
lighttpd/tags/1.4.28-2/src/mod_skeleton.c
lighttpd/tags/1.4.28-2/src/mod_ssi.c
lighttpd/tags/1.4.28-2/src/mod_ssi.h
lighttpd/tags/1.4.28-2/src/mod_ssi_expr.c
lighttpd/tags/1.4.28-2/src/mod_ssi_expr.h
lighttpd/tags/1.4.28-2/src/mod_ssi_exprparser.c
lighttpd/tags/1.4.28-2/src/mod_ssi_exprparser.h
lighttpd/tags/1.4.28-2/src/mod_ssi_exprparser.y
lighttpd/tags/1.4.28-2/src/mod_staticfile.c
lighttpd/tags/1.4.28-2/src/mod_status.c
lighttpd/tags/1.4.28-2/src/mod_trigger_b4_dl.c
lighttpd/tags/1.4.28-2/src/mod_userdir.c
lighttpd/tags/1.4.28-2/src/mod_usertrack.c
lighttpd/tags/1.4.28-2/src/mod_webdav.c
lighttpd/tags/1.4.28-2/src/network.c
lighttpd/tags/1.4.28-2/src/network.h
lighttpd/tags/1.4.28-2/src/network_backends.h
lighttpd/tags/1.4.28-2/src/network_freebsd_sendfile.c
lighttpd/tags/1.4.28-2/src/network_linux_sendfile.c
lighttpd/tags/1.4.28-2/src/network_openssl.c
lighttpd/tags/1.4.28-2/src/network_solaris_sendfilev.c
lighttpd/tags/1.4.28-2/src/network_write.c
lighttpd/tags/1.4.28-2/src/network_writev.c
lighttpd/tags/1.4.28-2/src/plugin.c
lighttpd/tags/1.4.28-2/src/plugin.h
lighttpd/tags/1.4.28-2/src/proc_open.c
lighttpd/tags/1.4.28-2/src/proc_open.h
lighttpd/tags/1.4.28-2/src/request.c
lighttpd/tags/1.4.28-2/src/request.h
lighttpd/tags/1.4.28-2/src/response.c
lighttpd/tags/1.4.28-2/src/response.h
lighttpd/tags/1.4.28-2/src/server.c
lighttpd/tags/1.4.28-2/src/server.h
lighttpd/tags/1.4.28-2/src/settings.h
lighttpd/tags/1.4.28-2/src/splaytree.c
lighttpd/tags/1.4.28-2/src/splaytree.h
lighttpd/tags/1.4.28-2/src/stat_cache.c
lighttpd/tags/1.4.28-2/src/stat_cache.h
lighttpd/tags/1.4.28-2/src/status_counter.c
lighttpd/tags/1.4.28-2/src/status_counter.h
lighttpd/tags/1.4.28-2/src/stream.c
lighttpd/tags/1.4.28-2/src/stream.h
lighttpd/tags/1.4.28-2/src/sys-mmap.h
lighttpd/tags/1.4.28-2/src/sys-socket.h
lighttpd/tags/1.4.28-2/src/version.h
lighttpd/tags/1.4.28-2/tests/
lighttpd/tags/1.4.28-2/tests/404-handler.conf
lighttpd/tags/1.4.28-2/tests/LightyTest.pm
lighttpd/tags/1.4.28-2/tests/Makefile.am
lighttpd/tags/1.4.28-2/tests/Makefile.in
lighttpd/tags/1.4.28-2/tests/SConscript
lighttpd/tags/1.4.28-2/tests/bug-06.conf
lighttpd/tags/1.4.28-2/tests/bug-12.conf
lighttpd/tags/1.4.28-2/tests/cachable.t
lighttpd/tags/1.4.28-2/tests/cleanup.sh
lighttpd/tags/1.4.28-2/tests/condition.conf
lighttpd/tags/1.4.28-2/tests/core-404-handler.t
lighttpd/tags/1.4.28-2/tests/core-condition.t
lighttpd/tags/1.4.28-2/tests/core-keepalive.t
lighttpd/tags/1.4.28-2/tests/core-request.t
lighttpd/tags/1.4.28-2/tests/core-response.t
lighttpd/tags/1.4.28-2/tests/core-var-include.t
lighttpd/tags/1.4.28-2/tests/core.t
lighttpd/tags/1.4.28-2/tests/docroot/
lighttpd/tags/1.4.28-2/tests/docroot/123/
lighttpd/tags/1.4.28-2/tests/docroot/123/12345.html
lighttpd/tags/1.4.28-2/tests/docroot/123/12345.txt
lighttpd/tags/1.4.28-2/tests/docroot/123/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/123/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/123/dummyfile.bla
lighttpd/tags/1.4.28-2/tests/docroot/123/phpinfo.php
lighttpd/tags/1.4.28-2/tests/docroot/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/www/
lighttpd/tags/1.4.28-2/tests/docroot/www/404.fcgi
lighttpd/tags/1.4.28-2/tests/docroot/www/404.html
lighttpd/tags/1.4.28-2/tests/docroot/www/404.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/www/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/www/cgi-pathinfo.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/cgi.php
lighttpd/tags/1.4.28-2/tests/docroot/www/cgi.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/crlfcrash.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/exec-date.shtml
lighttpd/tags/1.4.28-2/tests/docroot/www/expire/
lighttpd/tags/1.4.28-2/tests/docroot/www/expire/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/www/expire/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/www/expire/access.txt
lighttpd/tags/1.4.28-2/tests/docroot/www/expire/modification.txt
lighttpd/tags/1.4.28-2/tests/docroot/www/get-env.php
lighttpd/tags/1.4.28-2/tests/docroot/www/get-header.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/get-post-len.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/get-server-env.php
lighttpd/tags/1.4.28-2/tests/docroot/www/go/
lighttpd/tags/1.4.28-2/tests/docroot/www/go/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/www/go/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/www/go/cgi.php
lighttpd/tags/1.4.28-2/tests/docroot/www/index.html
lighttpd/tags/1.4.28-2/tests/docroot/www/index.txt
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/Makefile.am
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/Makefile.in
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/index.php
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/return-404.php
lighttpd/tags/1.4.28-2/tests/docroot/www/indexfile/rewrite.php
lighttpd/tags/1.4.28-2/tests/docroot/www/nph-status.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/phpinfo.php
lighttpd/tags/1.4.28-2/tests/docroot/www/prefix.fcgi
lighttpd/tags/1.4.28-2/tests/docroot/www/redirect.php
lighttpd/tags/1.4.28-2/tests/docroot/www/send404.pl
lighttpd/tags/1.4.28-2/tests/docroot/www/sendfile.php
lighttpd/tags/1.4.28-2/tests/docroot/www/ssi.shtml
lighttpd/tags/1.4.28-2/tests/fastcgi-10.conf
lighttpd/tags/1.4.28-2/tests/fastcgi-13.conf
lighttpd/tags/1.4.28-2/tests/fastcgi-auth.conf
lighttpd/tags/1.4.28-2/tests/fastcgi-responder.conf
lighttpd/tags/1.4.28-2/tests/fcgi-auth.c
lighttpd/tags/1.4.28-2/tests/fcgi-responder.c
lighttpd/tags/1.4.28-2/tests/lighttpd.conf
lighttpd/tags/1.4.28-2/tests/lighttpd.htpasswd
lighttpd/tags/1.4.28-2/tests/lighttpd.user
lighttpd/tags/1.4.28-2/tests/lowercase.conf
lighttpd/tags/1.4.28-2/tests/lowercase.t
lighttpd/tags/1.4.28-2/tests/mod-access.t
lighttpd/tags/1.4.28-2/tests/mod-auth.t
lighttpd/tags/1.4.28-2/tests/mod-cgi.t
lighttpd/tags/1.4.28-2/tests/mod-compress.conf
lighttpd/tags/1.4.28-2/tests/mod-compress.t
lighttpd/tags/1.4.28-2/tests/mod-fastcgi.t
lighttpd/tags/1.4.28-2/tests/mod-proxy.t
lighttpd/tags/1.4.28-2/tests/mod-redirect.t
lighttpd/tags/1.4.28-2/tests/mod-rewrite.t
lighttpd/tags/1.4.28-2/tests/mod-secdownload.t
lighttpd/tags/1.4.28-2/tests/mod-setenv.t
lighttpd/tags/1.4.28-2/tests/mod-ssi.t
lighttpd/tags/1.4.28-2/tests/mod-userdir.t
lighttpd/tags/1.4.28-2/tests/prepare.sh
lighttpd/tags/1.4.28-2/tests/proxy.conf
lighttpd/tags/1.4.28-2/tests/request.t
lighttpd/tags/1.4.28-2/tests/run-tests.pl
lighttpd/tags/1.4.28-2/tests/symlink.t
lighttpd/tags/1.4.28-2/tests/var-include-sub.conf
lighttpd/tags/1.4.28-2/tests/var-include.conf
lighttpd/tags/1.4.28-2/tests/wrapper.sh
Log:
Import 1.4.28-2 from Debian mirrors
Added: lighttpd/tags/1.4.28-2/AUTHORS
===================================================================
--- lighttpd/tags/1.4.28-2/AUTHORS (rev 0)
+++ lighttpd/tags/1.4.28-2/AUTHORS 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,6 @@
+Jan Kneschke
+Elan Ruusam??e
+Marcus R??ckert
+mOo
+Robert Jakabosky
+Stefan B??hler
Added: lighttpd/tags/1.4.28-2/COPYING
===================================================================
--- lighttpd/tags/1.4.28-2/COPYING (rev 0)
+++ lighttpd/tags/1.4.28-2/COPYING 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,31 @@
+
+
+Copyright (c) 2004, Jan Kneschke, incremental
+ All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the 'incremental' nor the names of its contributors may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+
Added: lighttpd/tags/1.4.28-2/INSTALL
===================================================================
--- lighttpd/tags/1.4.28-2/INSTALL (rev 0)
+++ lighttpd/tags/1.4.28-2/INSTALL 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,32 @@
+
+============
+Installation
+============
+
+:author: Jan Kneschke
+:Date: $Date: $
+:Revision: $Revision: $
+
+Installation
+------------
+
+Get the source from
+
+http://www.lighttpd.net/download/
+
+unpack it by ::
+
+ $ gzip -cd lighttpd-1.x.x.tar.gz | tar xf -
+
+compile and install it with ::
+
+ $ cd lighttpd-1.x.x
+ $ ./configure
+ $ make
+ $ su -
+ # make install
+ # exit
+
+take look at the configfile in ./doc/lighttpd.conf,
+make your own copy of that file and modify it for your needs.
+
Added: lighttpd/tags/1.4.28-2/Makefile.am
===================================================================
--- lighttpd/tags/1.4.28-2/Makefile.am (rev 0)
+++ lighttpd/tags/1.4.28-2/Makefile.am 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,7 @@
+SUBDIRS=src doc tests
+
+EXTRA_DIST=autogen.sh SConstruct
+
+ACLOCAL_AMFLAGS = -I m4
+
+distcleancheck_listfiles = find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
Added: lighttpd/tags/1.4.28-2/Makefile.in
===================================================================
--- lighttpd/tags/1.4.28-2/Makefile.in (rev 0)
+++ lighttpd/tags/1.4.28-2/Makefile.in 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,764 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/distribute.sh.in $(top_srcdir)/configure AUTHORS \
+ COPYING INSTALL NEWS compile config.guess config.sub depcomp \
+ install-sh ltmain.sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = distribute.sh
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d "$(distdir)" \
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr "$(distdir)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+ATTR_LIB = @ATTR_LIB@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZ_LIB = @BZ_LIB@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPT_LIB = @CRYPT_LIB@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DL_LIB = @DL_LIB@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FAM_CFLAGS = @FAM_CFLAGS@
+FAM_LIBS = @FAM_LIBS@
+FGREP = @FGREP@
+GDBM_LIB = @GDBM_LIB@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LBER_LIB = @LBER_LIB@
+LD = @LD@
+LDAP_LIB = @LDAP_LIB@
+LDFLAGS = @LDFLAGS@
+LIBEV_CFLAGS = @LIBEV_CFLAGS@
+LIBEV_LIBS = @LIBEV_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LUA_CFLAGS = @LUA_CFLAGS@
+LUA_LIBS = @LUA_LIBS@
+MAKEINFO = @MAKEINFO@
+MEMCACHE_LIB = @MEMCACHE_LIB@
+MKDIR_P = @MKDIR_P@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_INCLUDE = @MYSQL_INCLUDE@
+MYSQL_LIBS = @MYSQL_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRECONFIG = @PCRECONFIG@
+PCRE_LIB = @PCRE_LIB@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SENDFILE_LIB = @SENDFILE_LIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SQLITE_CFLAGS = @SQLITE_CFLAGS@
+SQLITE_LIBS = @SQLITE_LIBS@
+SSL_LIB = @SSL_LIB@
+STRIP = @STRIP@
+U = @U@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+Z_LIB = @Z_LIB@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src doc tests
+EXTRA_DIST = autogen.sh SConstruct
+ACLOCAL_AMFLAGS = -I m4
+distcleancheck_listfiles = find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+distribute.sh: $(top_builddir)/config.status $(srcdir)/distribute.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @$(am__cd) '$(distuninstallcheck_dir)' \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+ ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-am clean clean-generic \
+ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+ dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: lighttpd/tags/1.4.28-2/NEWS
===================================================================
--- lighttpd/tags/1.4.28-2/NEWS (rev 0)
+++ lighttpd/tags/1.4.28-2/NEWS 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,1068 @@
+
+====
+NEWS
+====
+
+- 1.4.28 -
+ * Rename fdevent_event_add to _set to reflect what the function does. Fix some handlers. (fixes #2249)
+ * Fix buffer.h to include stdio.h as it is needer for SEGFAULT() (fixes #2250)
+
+- 1.4.27 - 2010-08-13
+ * Fix handling return value of SSL_CTX_set_options (fixes #2157, thx mlcreech)
+ * Fix mod_proxy HUP handling (send final chunk, fix usage counter)
+ * mod_proxy: close connection on write error (fixes #2114)
+ * Check uri instead of physical path for directory redirect
+ * Fix detecting git repository (fixes #2173, thx ncopa)
+ * [mod_compress] Fix segfault when etags are disabled (fixes #2169)
+ * Reset uri.authority before TLS servername handling, reset all "keep-alive" data in connection_del (fixes #2125)
+ * Print double quotes properly when dumping config file (fixes #1806)
+ * Include IP addresses on error log on password failures (fixes #2191)
+ * Fix stalls while reading from ssl sockets (fixes #2197)
+ * Fix etag formatting on boxes with 32-bit longs
+ * Fix two compiler warnings
+ * mod_accesslog: fix %p for ipv6 sockets (fixes #2228, thx jo.henke)
+ * mod_fastcgi: Send 502 "Bad Gateway" if we couldn't open the file for X-Sendfile (fixes #2226)
+ * mod_staticfile: add debug output if we ignore a file with static-file.exclude-extensions (fixes #2215)
+ * mod_cgi: fix race condition leaving response not forwarded to client (fixes #2217)
+ * mod_accesslog: Fix var declarations mixed in source (fixes #2233)
+ * mod_status: Add version to status page (fixes #2219)
+ * mod_accesslog: optimize accesslog_append_escaped (fixes #2236, thx crypt)
+ * openssl: silence annoying error messages for errno==0 (fixes #2213)
+ * array.c: improve array_get_unused_element to check data type; fix mem leak if unused_element didn't find a matching entry (fixes #2145)
+ * add check to stop loading plugins twice
+ * cleanup fdevent code, removed linux-rtsig handler, replaced some fprintf calls
+ * only require FDEVENT_IN bit to be set for listening connections (fixes #2227)
+ * add libev fdevent handler: server.event-handler = "libev"
+ * mod_proxy: return response as soon as it is available (fixes #2196)
+ * don't overwrite global server.force-lowercase-filenames setting (fixes #2042)
+ * bind to IPV6-only if ipv6 address was specified (http://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config)
+
+- 1.4.26 - 2010-02-07
+ * Fix request parser to handle packets with splitted \r\n\r\n (fixes #2105)
+ * Remove dependency on automake >= 1.11 with m4_ifdef check
+ * mod_accesslog: support %e (fixes #2113, thx presbrey)
+ * Fix mod_cgi cgi.execute-x-only option in global block
+ * mod_fastcgi: x-sendfile2 parse error debugging
+ * Fix mod_proxy dead host detection if connect() fails
+ * Fix fd leaks in mod_cgi (fds not closed on pipe/fork failures, found by Rodrigo, fixes #2158, #2159)
+ * Fix segfault with broken rewrite/redirect patterns (fixes #2140, found by crypt)
+ * Append to previous buffer in con read, fix DoS/OOM vulnerability (fixes #2147, found by liming, CVE-2010-0295)
+ * Fix HUP detection in close-state if event-backend doesn't support FDEVENT_HUP (like select or poll on FreeBSD)
+
+- 1.4.25 - 2009-11-21
+ * 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)
+ * reset tlsext_server_name in connection_reset - fixes random hostnames in the $HTTP["host"] conditional
+ * export some SSL_CLIENT_* vars for client cert validation (fixes #1288, thx presbrey)
+ * mod_fastcgi: fix mod_fastcgi packet parsing
+ * mod_fastcgi: Don't reconnect after connect() succeeded (fixes #2096)
+ * Fix configure.ac to allow autoreconf, also enables make V=0
+
+- 1.4.24 - 2009-10-25
+ * Add T_CONFIG_INT for bigger integers from the config (needed for #1966)
+ * Use unsigned int (and T_CONFIG_INT) for max_request_size
+ * Use unsigned int for secdownload.timeout (fixes #1966)
+ * Keep url/host values from connection to display information while keep-alive in mod_status (fixes #1202)
+ * Add server.breakagelog, a "special" stderr (fixes #1863)
+ * Fix config evaluation for debug.log-timeouts option (#1529)
+ * Add "cgi.execute-x-only" to mod_cgi, requires +x for cgi scripts (fixes #2013)
+ * Fix FD_SETSIZE comparision warnings
+ * Add "lua-5.1" to searched pkg-config names for lua
+ * Fix unused function webdav_lockdiscovery in mod_webdav
+ * cmake: Fix crypt lib check
+ * cmake: Add -export-dynamic to link flags, fixes build on FreeBSD
+ * Set FD_CLOEXEC for bound sockets before pipe-logger forks (fixes #2026)
+ * Reset ignored signals to SIG_DFL before exec() in fastcgi/scgi (fixes #2029)
+ * Show "no uri specified -> 400" error only when "debug.log-request-header-on-error" is enabled (fixes #2030)
+ * Fix hanging connection in mod_scgi (fixes #2024)
+ * Allow digits in hostnames in more places (fixes #1148)
+ * Use connection_reset instead of handle_request_done for cleanup callbacks
+ * Change mod_expire to append Cache-Control instead of overwriting it (fixes #1997)
+ * Allow all comparisons for $SERVER["socket"] - only bind for "=="
+ * Remove strptime failed message (fixes #2031)
+ * Fix issues found with clang analyzer
+ * Try to fix server.tag issue with localized svnversion
+ * Fix handling network-write return values (#2024)
+ * Use disable-time in fastcgi for all disables after errors, default is 1sec (fixes #2040)
+ * Remove adaptive spawning code from fastcgi (was disabled for a long time)
+ * Allow mod_mysql_vhost to use stored procedures (fixes #2011, thx Ben Brown)
+ * Fix ipv6 in mod_proxy (fixes #2043)
+ * Print errors from include_shell to stderr
+ * Set tm.tm_isdst = 0 before mktime() (fixes #2047)
+ * Use linux-epoll by default if available (fixes #2021, thx Olaf van der Spek)
+ * Print an error if you use too many captures in a regex pattern (fixes #2059)
+ * Combine Cache-Control header value in mod_expire to existing HTTP header if header already added by other modules (fixes #2068)
+ * Remember keep-alive-idle in separate variable (fixes #1988)
+ * Fix header inclusion order, always include "config.h" before any system header
+ * mod_webdav: Patch to skip login information for domain part of Destination field (fixes #1793)
+ * mod_webdav: Delete old properties before updating new for MOVE (fixes #1317)
+ * Read hostname from absolute uris in the request line (fixes #1937)
+ * mod_fastcgi: don't disable backend if disable-time is 0 (fixes #1825)
+ * mod_compress: match partial+full content-type (fixes #1552)
+ * mod_fastcgi: fix is_local detection, respawn backends if bin-path is set (fixes #897)
+ * Fix linger-on-close behaviour to avoid rare failure conditions (was r2636, fixes #657)
+ * mod_fastcgi: restart local procs immediately after they terminated, fix local procs handling
+ * Fix segfault on invalid config "duplicate else conditions" (fixes #2065)
+ * mod_usertrack: Use T_CONFIG_INT for max-age, solves range problem (#1455)
+ * mod_accesslog: configurable timestamp logging (fixes #1479)
+ * always define _GNU_SOURCE
+ * Add some iterators for mod_magnet (fixes #1307)
+ * Fix close_timeout_ts trigger (should finally fix lingering close)
+ * mod_rewrite: add url.rewrite-[repeat-]if-not-file to rewrite if file doesn't exist or is not a regular file (fixes #985, thx lucas aerbeydt)
+ * Add TLS servername indication (SNI) support (fixes #386, thx Peter Colberg )
+ * Add SSL Client Certificate verification (#1288)
+ * mod_fastcgi: Fix host->active_procs counter, return 503 if connect wasn't successful after 5 tries (fixes #1825)
+ * mod_accesslog: escape special characters (fixes #1551, thx icy)
+ * fix mod_webdav crash from #1793 (fixes #2084, thx hiroya)
+ * Don't print ssl error if client didn't support TLS SNI
+ * Fix linger close timeout handling, drop timeout to 5 seconds (fixes #2086)
+ * Fix broken return values from int to enum in mod_fastcgi
+
+- 1.4.23 - 2009-06-19
+ * Added some extra warning options in cmake and fix the resulting warnings (unused/static functions)
+ * New lighttpd man page (moved it to section 8) (fixes #1875)
+ * Create rrd file for empty rrdfile in mod_rrdtool (#1788)
+ * Fix workaround for incorrect path info/scriptname if fastcgi prefix is "/" (fixes #729)
+ * Finally removed spawn-fcgi
+ * Allow xattr to overwrite mime type (fixes #1929)
+ * Remove link from errormsg about fastcgi apps (fixes #1942)
+ * Strip trailing dot from "Host:" header
+ * Remove the optional port info from SERVER_NAME (thx Mr_Bond)
+ * Fix mod_proxy RoundRobin (off by one problem if only one backend is up)
+ * Rename configure.in to configure.ac, with small cleanups (fixes #1932)
+ * Add proper SUID bit detection (fixes #416)
+ * Check for regular file in mod_cgi, so we don't try to start directories
+ * Include mmap.h from chunk.h to fix some problems with #define mmap mmap64 (fixes #1923)
+ * Add support for pipe logging for server.errorlog (fixes #296)
+ * Add revision number to package version for svn/git checkouts
+ * Use server.tag for SERVER_SOFTWARE if configured (fixes #357)
+ * Fix trailing zero char in REQUEST_URI after "strip-request-uri" in mod_fastcgi
+ * mod_magnet: Add env["request.remote-ip"] (fixes #1740)
+ * mod_magnet: Add env["request.path-info"]
+ * Change name/version separator back to "/" (affects every place where the version is printed)
+ * Fix bug with FastCGI request id overflow under high load; just use always id 1 as we don't use multiplexing. (thx jgray)
+ * Add some dirlisting enhancements (fixes #1458)
+ * Add option to enable TCP_DEFER_ACCEPT (fixes #1447)
+ * Limit amount of bytes read for one read-event (fixes #1070)
+ * Add evasive.silent option (fixes #1438)
+ * Make mod_extforward headers configurable (fixes #1545)
+ * Add '%_' pattern for complete hostname in mod_evhost (fixes #1737)
+ * Add IPv6 support to mod_proxy (fixes #1537)
+ * mod_ssi printenv: print cgi env, add environment vars to cgi env (fixes #1713)
+ * Fix error message if no auth backend was set
+ * Fix SERVER_NAME port stripping (fixes #1968)
+ * Fix x-sendfile 2gb limiting (fixes #1970)
+ * Fix mod_cgi environment keys mangling (fixes #1969)
+ * Fix workaround for incorrect path info/scriptname if scgi prefix is "/" (fixes #729)
+ * Fix max-age value in mod_expire for 'modification' (fixes #1978)
+ * Fix evasive.silent option (#1438)
+ * Fix mod-fastcgi counters
+ * Modify fastcgi error message
+ * Backup errno for later usage (reported by Guido Reina via mailinglist)
+ * Improve FastCGI performance (fixes #1999)
+ * Workaround broken operating systems: check for trailing '/' in filenames (fixes #1989)
+ * Allow using pcre with cross-compiling (pcre-config got fixed; fixes #1986)
+ * Add "lighty.req_env" table to mod_magnet for setting/getting environment values for cgi (fixes #1967, thx presbrey)
+ * Fix segfault in mod_expire after failed config parsing (fixes #1992)
+ * Add ssi.content-type option (default text/html, fixes #615)
+ * Add support for "real" entropy from /dev/[u]random (fixes #1977)
+ * Adding support for additional chars in LDAP usernames (fixes #1941)
+ * Ignore multiple "If-None-Match" headers (only use first one, fixes #753)
+ * Fix 100% cpu usage if time() < 0 (thx to gaspa and cate, fixes #1964)
+ * Allow max-keep-alive-requests to depend on conditional (fixes #1881)
+ * Make dependency on svnversion/git optional (for devel versionstamp, fixes #2009)
+
+- 1.4.22 - 2009-03-07
+ * Fix wrong lua type for CACHE_MISS/CACHE_HIT in mod_cml (fixes #533)
+ * Fix default vhost in mod_simple_vhost (fixes #1905)
+ * Handle EINTR in mod_rrdtool (fixes #604)
+ * Fix rrd error after graceful restart (fixes #419)
+ * Fix EAGAIN handling for freebsd sendfile (fixes #1913, thx AnMaster for spotting the problem)
+ * Fix segfault in mod_scgi (fixes #1911)
+ * Treat EPIPE as connection-closed error in network_freebsd_sendfile.c (another fix from #1913)
+ * Fix useless redirection of stderr in mod_rrdtool, as it gets redirected to /dev/null later. (fixes #1922)
+ * Fix some problems with more strict compilers (#1923)
+ * Fix segfault if siginfo_t* is NULL in sigaction handler (fixes #1926)
+
+- 1.4.21 - 2009-02-16
+
+ * Fix base64 decoding in mod_auth (#1757, thx guido)
+ * Fix mod_cgi segfault when bound to unix domain socket (#653)
+ * Do not rely on ioctl FIONREAD (#673)
+ * Now really fix mod auth ldap (#1066)
+ * Fix leaving zombie process with include_shell (#1777)
+ * Removed debian/, openwrt/ and cygwin/; they weren't kept up-to-date, and we decided to remove dist. specific stuff
+ * Try to convert string options to shorts for numeric options in config file; allows to use env-vars for numeric options. (#1159, thx andrewb)
+ * Do not cache default vhost in mod_simple_vhost (#709)
+ * Trust pcre-config, do not check for pcre manually (#1769)
+ * Fix fastcgi authorization in subdirectories with check-local=disabled; don't split pathinfo for authorizer. (#963)
+ * Add possibility to disable methods in mod_compress (#1773)
+ * Fix duplicate connection keep-alive/transfer-encoding headers (#960)
+ * Fixed fix for round-robin in mod_proxy (forgot to increment the index) (#1715)
+ * Fix fastcgi-authorizer handling; Status: 200 is now accepted as the doc requests
+ * Compare address family in inet_ntop_cache
+ * Revert CVE-2008-4359 (#1720) fix "encoding+simplifying urls for rewrite/redirect": too many regressions.
+ * Use FD_CLOEXEC if possible (fixes #1821)
+ * Optimized buffer usage in mod_proxy (fixes #1850)
+ * Fix uninitialized value in time struct after strptime
+ * Do not pass Proxy-Connection: header from client to backend http server in mod_proxy (#1877)
+ * Fix wrong malloc sizes in mod_accesslog (probably nothing bad happened...) (fixes #1855, thx ycheng)
+ * Some small buffer.c fixes (closes #1837)
+ * Remove floating point math from server.c (fixes #1402)
+ * Disable SSLv2 by default
+ * Use/enforce sane max-connection values (fixes #1803)
+ * Allow mod_compress to return 304 (Not Modified); compress ignores the static-file.etags option.(fixes #1884)
+ * Add option to ignore the "Expect: 100-continue" header instead of returning 417 Expectation failed (closes #1017)
+ * Use modified etags in mod_compress (fixes #1800)
+ * Fix max-connection limit handling/100% cpu usage (fixes #1436)
+ * Fix error handling in freebsd-sendfile (fixes #1813)
+ * Silenced the annoying "request timed out" warning, enable with the "debug.log-timeouts" option (fixes #1529)
+ * Allow tabs in header values (fixes #1822)
+ * Added Language conditional (fixes #1119); patch by petar
+ * Fix wrong format strings (#1900, thx stepancheg)
+
+- 1.4.20 - 2008-09-30
+
+ * Fix mod_compress to compile with old gcc version (#1592)
+ * Fix mod_extforward to compile with old gcc version (#1591)
+ * Update documentation for #1587
+ * Fix #285 again: read error after SSL_shutdown (thx marton.illes at balabit.com) and clear the error queue before some other calls (CVE-2008-1531)
+ * Fix mod_magnet: enable "request.method" and "request.protocol" in lighty.env (#1308)
+ * Fix segfault for appending matched parts if there was no regex matching (just give empty strings) (#1601)
+ * Use data_response_init in mod_fastcgi x-sendfile handling for response.headers, fix a small "memleak" (#1628)
+ * Don't send empty Server headers (#1620)
+ * Fix conditional interpretation of core options
+ * Enable escaping of % and $ in redirect/rewrite; only two cases changed their behaviour: "%%" => "%", "$$" => "$"
+ * Fix accesslog port (should be port from the connection, not the "server.port") (#1618)
+ * Fix mod_fastcgi prefix matching: match the prefix always against url, not the absolute filepath (regardless of check-local)
+ * Overwrite Content-Type header in mod_dirlisting instead of inserting (#1614), patch by Henrik Holst
+ * Handle EINTR in mod_cgi during write() (#1640)
+ * Allow all http status codes by default; disable body only for 204,205 and 304; generate error pages for 4xx and 5xx (#1639)
+ * Fix mod_magnet to set con->mode = p->id if it generates content, so returning 4xx/5xx doesn't append an error page
+ * Remove lighttpd.spec* from source, fixing all problems with it ;-)
+ * Do not rely on PATH_MAX (POSIX does not require it) (#580)
+ * Disable logging to access.log if filename is an empty string
+ * Implement a clean way to open /dev/null and use it to close stdin/out/err in the needed places (#624)
+ * merge spawn-fcgi changes from trunk (from @2191)
+ * let spawn-fcgi propagate exit code from spawned fcgi application
+ * close connection after redirect in trigger_b4_dl (thx icy)
+ * close connection in mod_magnet if returned status code
+ * fix bug with IPv6 in mod_evasive (#1579)
+ * fix scgi HTTP/1.* status parsing (#1638), found by met at uberstats.com
+ * [tests] fixed system, use foreground daemons and waitpid
+ * [tests] removed pidfile from test system
+ * [tests] fixed tests needing php running (if not running on port 1026, search php in env[PHP] or /usr/bin/php-cgi)
+ * fixed typo in mod_accesslog (#1699)
+ * replaced buffer_{append,copy}_string with the _len variant where possible (#1732) (thx crypt)
+ * case insensitive match for secdownload md5 token (#1710)
+ * Handle only HEAD, GET and POST in mod_dirlisting (same as in staticfile) (#1687)
+ * fixed mod_secdownload problem with unsigned time_t (#1688)
+ * handle EAGAIN and EINTR for freebsd sendfile (#1675)
+ * Use filedescriptor 0 for mod_scgi spawn socket, redirect STDERR to /dev/null (#1716)
+ * fixed round-robin balancing in mod_proxy (#1715)
+ * fixed EINTR handling for waitpid in mod_fastcgi
+ * mod_{fast,s}cgi: overwrite environment variables (#1722)
+ * inserted many con->mode checks; they should prevent two modules to handle the same request if they shouldn't (#631)
+ * fixed url encoding to encode more characters (#266)
+ * allow digits in [s]cgi env vars (#1712)
+ * fixed dropping last character of evhost pattern (#161)
+ * print helpful error message on conditionals in global block (#1550)
+ * decode url before matching in mod_rewrite (#1720) -- (reverted for 1.4.21)
+ * fixed conditional patching of ldap filter (#1564)
+ * Match headers case insensitive in response (removing of X-{Sendfile,LIGHTTPD-*}, catching Date/Server) [2281]
+ * fixed bug with case-insensitive filenames in mod_userdir (#1589), spotted by "anders1" (CVE-2008-4360)
+ * fixed format string bugs in mod_accesslog for SYSLOG
+ * replaced fprintf with log_error_write in fastcgi debug
+ * fixed mem leak in ssi expression parser (#1753), thx Take5k
+ * hide some ssl errors per default, enable them with debug.log-ssl-noise (#397)
+ * do not send content-encoding for 304 (#1754), thx yzlai
+ * fix segfault for stat_cache(fam) calls with relative path (without '/', can be triggered by x-sendfile) (#1750)
+ * fix splitting of auth-ldap filter
+ * workaround ldap connection leak if a ldap connection failed (restarting ldap)
+ * fix auth.backend.ldap.bind-dn/pw problems (only read from global context for temporary ldap reconnects, thx ruskie)
+ * fix memleak in request header parsing (#1774, thx qhy) (CVE-2008-4298)
+ * fix mod_rewrite memleak/endless loop detection (#1775, thx phy - again!)
+ * use decoded url for matching in mod_redirect (#1720) (CVE-2008-4359) -- (reverted for 1.4.21)
+
+- 1.4.19 - 2008-03-10
+
+ * added support for If-Range: (#1346)
+ * added support for matching $HTTP["scheme"] in configs
+ * fixed initgroups() called after chroot (#1384)
+ * fixed case-sensitive check for Auth-Method (#1456)
+ * execute fcgi app without /bin/sh if used as argument to spawn-fcgi (#1428)
+ * fixed a bug that made /-prefixed extensions being handled also when
+ matching the end of the uri in fcgi,scgi and proxy modules (#1489)
+ * print error if X-LIGHTTPD-send-file cannot be done; reset header
+ Content-Length for send-file. Patches by Stefan Buehler
+ * 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)
+ * support letterhomes in mod_userdir (#1473)
+ * support chained proxies in mod_extforward (#1528)
+ * fixed bogus "cgi died ?" if we kill the CGI process on shutdown
+ * fixed ECONNRESET handling in network-openssl
+ * fixed handling of EAGAIN in network-linux-sendfile (#657)
+ * reset conditional cache (#1164)
+ * create directories in mod_compress (was broken with alias/userdir) (#1027)
+ * fixed out of range access in fd array (#1562, #372) (CVE-2008-0983)
+ * mod_compress should check if the request is already handled, e.g. by fastcgi (#1565)
+ * remove broken workaround for buggy Opera version with ssl/chunked encoding (#285)
+ * generate etag/last-modified header for on-the-fly-compressed files (#1171)
+ * req-method OPTIONS: do not insert default response if request was denied, do not deny OPTIONS by default (#1324)
+ * fixed memory leak on windows (#1347)
+ * fixed building outside of the src dir (#1349)
+ * fixed including of stdint.h/inttypes.h in etag.c (#1413)
+ * do not add Accept-Ranges header if range-request is disabled (#1449)
+ * log the ip of failed auth tries in error.log (enhancement #1544)
+ * fixed RoundRobin in mod_proxy (#516)
+ * check for symlinks after successful pathinfo matching (#1574)
+ * fixed mod-proxy.t to run with a builddir outside of the src dir
+ * do not suppress content on "307 Temporary Redirect" (#1412)
+ * fixed Content-Length header if response body gets removed in connections.c (#1412, part 2)
+ * do not generate a "Content-Length: 0" header for HEAD requests, added test too
+ * remove compress cache file if compression or write failed (#1150)
+ * fixed body handling of status 300 requests
+ * spawn-fcgi: only try to connect to unix socket (not tcp) before spawning (#1575)
+ * fix sending source of cgi script instead of 500 error if fork fails (CVE-2008-1111)
+ * fix min-procs handling in mod_scgi.c, just set to max-procs (patch from #623)
+ * fix sending "408 - Timeout" instead of "410 - Gone" for timedout urls in mod_secdownload (#1440)
+ * workaround #1587: require userdir.path to be set to enable mod_userdir (empty string allowed) (CVE-2008-1270)
+ * make configure checks for --with-pcre, --with-zlib and --with-bzip2 failing if the headers aren't found
+ * fixed handling of waitpid() == EINTR mod_ssi on solaris
+
+- 1.4.18 - 2007-09-09
+
+ * fixed compile error on IRIX 6.5.x on prctl() (#1333)
+ * fixed forwarding a SIGINT and SIGHUP when using max-workers (#902)
+ * fixed FastCGI header overrun in mod_fastcgi (reported by mattias at secweb.se)
+ * fixed hanging redirects with keep-alive due to missing
+ "Content-Length: 0" headers
+ * fixed crashing when using undefined environment variables in the config
+ * fixed compilation of mod_mysql_vhost on irix (#1341)
+
+- 1.4.17 - 2007-08-29
+
+ * added dir-listing.set-footer in mod_dirlisting (#1277)
+ * added sending UID and PID for SIGTERM and SIGINT to the logs
+ * fixed hardcoded font-sizes in mod_dirlisting (#1267)
+ * fixed different ETag length on 32/64 platforms (#1279)
+ * fixed compression of files < 128 bytes by disabling compression (#1241)
+ * fixed mysql server reconnects (#518)
+ * fixed disabled keep-alive for dynamic content with HTTP/1.0 (#1166)
+ * fixed crash on mixed EOL sequences in mod_cgi
+ * fixed key compare (#1287)
+ * fixed invalid char in header values (#1286)
+ * fixed invalid "304 Not Modified" on broken timestamps
+ * fixed endless loop on shrinked files with sendfile() on BSD (#1289)
+ * fixed counter overrun in ?auto in mod_status (#909)
+ * fixed too aggresive caching of nested conditionals (#41)
+ * fixed possible overflow in unix-socket path checks on BSD (#713)
+ * fixed extra Content-Length header on 1xx, 204 and 304 (#1002)
+ * fixed handling of duplicate If-Modified-Since to return 304
+ * fixed extracting status code from NPH scripts (#1125)
+ * fixed prctl() usage (#1310)
+ * removed config-check if passwd files exist (#1188)
+ * fixed crash when etags are disabled but the client sends one (#1322)
+ * fixed crash when freeing the config in mod_alias
+ * fixed server.error-handler-404 breakage from 1.4.16 (#1270)
+ * fixed entering 404-handler from dynamic content (#948)
+ * added more debug infos for FAM based stat-cache
+ * use more LSB like paths in the sample config (#1242)
+
+- 1.4.16 - 2007-07-25
+
+ * added static-file.etags, etag.use-inode, etag.use-mtime, etag.use-size
+ to customize the generation of ETags for static files. (#1209)
+ (patch by )
+ * fixed typecast of NULL on execl() (#1235)
+ (patch by F. Denis)
+ * fixed circumventing url.access-deny by trailing slash (#1230)
+ * fixed crash on duplicate headers with trailing WS (#1232)
+ * fixed accepting more connections then requested (#1216)
+ * fixed mem-leak in mod_auth (reported by Stefan Esser)
+ * fixed crash with md5-sess and cnonce not set in mod_auth (reported by Stefan Esser)
+ * fixed missing check for base64 encoded string in mod_auth and Basic auth
+ (reported by Stefan Esser)
+ * fixed possible crash in Auth-Digest header parser on trailing WS in
+ mod_auth (reported by Stefan Esser)
+ * fixed check on stale errno values, which broke handling of broken fastcgi
+ applications. (#1245)
+ * fixed crash on 32bit archs when debug-msgs are printed in mod_scgi, mod_fastcgi
+ and mod_webdav (#1263)
+
+- 1.4.15 - 2007-04-13
+
+ * fixed broken Set-Cookie headers
+
+- 1.4.14 - 2007-04-13
+
+ * fix crash if gethostbyaddr() failed on redirect [1718]
+ * properly handle 206 responses generated by *cgi scripts. (#755) [1716]
+ * added HTTPS=on to the environment of cgi scripts (#861) [1684]
+ * fix handling of 303 (#1045) [1678]
+ * made the configure check for lua more portable [1677]
+ * added mod_extforward module [1665]
+ * references to the fam stat cache engine should be conditional (#1039) [1664]
+ * fix http 500 errors (colin.stephen/at/o2.com) #1041 [1663]
+ * prevent wrong pidfile unlinking on graceful restart (Chris Webb) [1656]
+ * ignore empty packets from STDERR stream. #998
+ * fix a crash for files with an mtime of 0 reported by cubiq on irc [1519]
+ CVE-2007-1870
+ * allow empty passwords with ldap (J?rg Sonnenberger) [1516]
+ * mod_scgi.c segfault fix #964 [1501]
+ * Added round-robin support to mod_fastcgi [1500]
+ * Handle DragonFlyBSD the same way as Freebsd (J?rg Sonnenberger) [1492,1676]
+ * added now and weeks support to mod_expire. #943
+ * fix cpu hog in certain requests [1473] CVE-2007-1869
+ * fix for handling hostnames with trailing dot [1406]
+ * fixed header-injection via server.tag (#1106)
+ * disabled caching of files without a content-type to solve the
+ aggressive caching of FF
+ * remove trailing white-spaces from HTTP-requests before parsing (#1098)
+ * fixed accesslog.use-syslog in a conditional and the caching of the
+ accesslog for files (fixes #1064)
+ * fixed various crashes at startup on broken accesslog.format strings (#1000)
+ * fixed handling of %% in accesslog.format
+ * fixed conditional dir-listing.exclude (#930)
+ * reduced default PATH_MAX to 255 (#826)
+ * ECONNABORTED is not known on cygwin (#863)
+ * fixed crash on url.redirect and url.rewrite if %0 is used in a global context
+ (#800)
+ * fixed possible crash in debug-message in mod_extforward
+ * fixed compilation of mod_extforward on glibc < 2.3.4
+ * fixed include of empty in the configfiles (#1076)
+ * send SIGUSR1 to fastcgi children before SIGTERM. libfcgi wants SIGUSR1. (#737)
+ * fixed missing AUTH_TYPE entry in the fastcgi environment. (#889)
+ * fixed compilation in network_writev.c on MacOS X 10.3.9 (#903)
+ * added kill-signal as another setting for fastcgi backends. See the wiki for more.
+
+- 1.4.13 - 2006-10-09
+
+ * added initgroups in spawn-fcgi (#871)
+ * added apr1 support htpasswd in mod-auth (#870)
+ * added lighty.stat() to mod_magnet
+ * fixed segfault in splitted CRLF CRLF sequences
+ (introduced in 1.4.12) (#876)
+ * fixed compilation of LOCK support in mod-webdav
+ * fixed fragments in request-URLs (#869)
+ * fixed pkg-config check for lua5.1 on debian
+ * fixed Content-Length = 0 on HEAD requests without
+ a known Content-Length (#119)
+ * fixed mkdir() forcing 0700 (#884)
+ * fixed writev() on FreeBSD 4.x and older (#875)
+ * removed warning about a 404-error-handler
+ returned 404
+ * backported and fixed the buildsystem changes for
+ webdav locks
+ * fixed plugin loading so we can finally load lua
+ extensions in mod_magnet scripts
+ * fixed large uploads if xattr is enabled
+
+- 1.4.12 - 2006-09-23
+
+ * added experimental LOCK support for webdav
+ * added Content-Range support for PUT in webdav
+ * added support for += on empty arrays in config-files
+ * added ssl.cipher-list and ssl.use-sslv2
+ * added $HTTP["querystring"] conditional
+ * added mod_magnet as long-term replacement for mod_cml
+ * added work-around for a Opera Bug with SSL + Chunked-Encoding
+ * changed --print-config to print to stdout instead of stderr
+ * changed no longer use 0600 for new files with webdav. umask is
+ honored. Make sure you have set a proper umask.
+ * fixed upload hangs with SSL
+ * fixed connection drops with SSL (aka bad retry)
+ * fixed path traversal with \ on cygwin
+ * fixed mem-leak in mod_flv_streaming
+ * fixed required trailing newline in configfiles (#142)
+ * fixed quoting the autoconf files (#466)
+ * fixed empty Host: + $HTTP["host"] handling (#458)
+ * fixed handling of If-Modified-Since if ETag is not set
+ * fixed default-shell if SHELL is not set (#441)
+ * fixed appending and assigning of env.* vars
+ * fixed empty FCGI_STDERR packets
+ * fixed conditional server.allow-http-11
+ * fixed handling of follow-symlink + lstat()
+ * fixed SIGHUP handling if max-workers is used
+ * fixed "Software caused connection abort" messages on FreeBSD
+
+- 1.4.11 - 2006-03-09
+
+ * added ability to specify which ip address spawn-fci listens on
+ (agkr/at/pobox.com)
+ * added mod_flv_streaming to streaming Flash Movies efficiently
+ * fixed handling of error codes returned by mod_dav_svn behing a
+ mod_proxy
+ * fixed error-messages in mod_auth and mod_fastcgi
+ * fixed re-enabling overloaded local fastcgi backends
+ * fixed handling of deleted files in linux-sendfile
+ * fixed compilation on BSD and MacOSX
+ * fixed $SERVER["socket"] on a already bound socket
+ * fixed local source retrieval on windows
+ (secunia)
+ * fixed hanging cgi if remote side is dieing while reading
+ from the pipe (sandy/at/meebo.com)
+
+- 1.4.10 - 2006-02-08
+
+ * added docs for mod_dirlisting
+ * added fastcgi.map-extensions to mod_fastcgi
+ * fixed load balancing for mod_fastcgi
+ * fixed extra newline for syslog() in mod_accesslog
+ * fixed user-track cookie for IE in mod_usertrack
+ * fixed crash in digest handling in mod_auth
+ * fixed handling of 301 response-bodies from a mod_proxy backend
+ * fixed loading of base modules if server.modules is not set
+ * fixed broken cgi if mod_scgi is loaded
+
+- 1.4.9 - 2006-01-14
+
+ * added server.core-files option (sandy )
+ * added docs for mod_status
+ * added mod_evasive to limit the number of connections by IP ()
+ * added the power-magnet to mod_cml
+ * added internal statistics to mod_fastcgi
+ * added server.statistics-url to get internal statistics from mod_status
+ * added support for conditional range-requests through If-Range
+ * added static building via scons
+ * fixed 100% cpu loops in mod_cgi ("sandy" )
+ * fixed handling for secure-download.timeout (jamis/at/37signals.com)
+ * fixed IE bug in content-charset in the output of mod_dirlisting (sniper/at/php.net)
+ * fixed typos and language in the docs (ryan-2005/at/ryandesign.com)
+ * fixed assertion in mod_cgi on HEAD request is Content-Length ()
+ * fixed handling if equal but duplicate If-Modified-Since request headers
+ * fixed endless loops in mod_fastcgi if backend is dead
+ * fixed Depth: 1 handling in PROPFIND requests on empty dirs
+ * fixed encoding of UTF8 encoded dirlistings (Jani Taskinen )
+ * fixed initial bind to a unix-domain socket through server.bind
+ * fixed handling of lowercase filesystems
+ * fixed duplicate request headers cause by mod_setenv
+
+- 1.4.8 - 2005-11-23
+
+ * added auto-reconnect to ldap-server in mod_auth
+ (joerg/at/netbsd.org)
+ * changed auth.ldap-cafile to be optional
+ (joerg/at/netbsd.org)
+ * added strip_request_uri in mod_fastcgi
+ * added more X-* headers to mod_proxy
+ (Ben Grimm )
+ * added 'debug' to simple-vhost to suppress the
+ (mod_simple_vhost.c.157) No such file or directory /servers/ww.lighttpd.net/pages/
+ messages by default
+ * added support to let the server listen on UNIX-socket
+ * changed default stat-cache-engine to 'simple'
+ * removed debian/ dir from source package on request by packager
+ * fixed max-age timestamps in mod_expire
+ * fixed encoding the filenames in PROPFIND in mod_webdav
+ * fixed range request handling in network_writev
+ * fixed retry on connect error in mod_fastcgi
+ (Robert G. Jakabosky )
+ * fixed possible crash in mod_webdav if sqlite3 support
+ is available but not use
+ * fixed fdvent-handler init if server.max-worker was used
+ (Siddharth Vijayakrishnan )
+ * fixed missing cleanup in mysql_vhost
+ * fixed assert() in "connections.c:962:
+ connection_handle_read_state: Assertion 'c->mem->used' failed."
+ * fixed 64bit issue in md5
+ * fixed crash in mod_status
+ * fixed duplicate headers in mod_proxy
+ * fixed Content-Length in HEAD request in mod_proxy
+ * fixed unsigned/signed comparisions
+ * fixed streaming in mod_cgi
+ * fixed possible overflow in password-salt handling
+ (reported on slashdot by james-web/at/and.org)
+ * fixed server-traffic-limit if connection limit is not set
+
+- 1.4.7 - 2005-11-02
+
+ * added FD_CLOEXEC to fds which are kept open for a longer time
+ * added smaller, moving mmaped windows to network_writev
+ * added madvise() to instruct the kernel the do proper read-ahead in network_writev
+ * added support for %I in mod_accesslog
+ * added better compat to Apache for ?auto in mod_status
+ * added support for userdirs without a entry in /etc/passwd in mod_userdir
+ (rob/at/inversepath.com)
+ * added startup-time selectable network-backend
+ * added location of upload-files to config as array
+ * added webdav.log-xml for logging xml-content in mod_webdav
+ * added Cache-Control: max-age to mod_expire
+ * workaround missing client-bug by assuming we received a close-notify on
+ non-keep-alive requests in SSL request
+ * disabled kerberos5 support by default to fix compilation on RHEL
+ * fixed order of library checks to fix compilation on Solaris 9
+ * fixed open file-descriptors on read-error
+ * fixed crash if /var/tmp is not writable
+
+- 1.4.6 - 2005-10-09
+
+ * fixed compilation on MacOS X and cygwin
+ * fixed compressed output if caching was disabled (seen in IE and Opera)
+ * fixed range-request option
+ * fixed mysql-vhost module (was broken in 1.4.5)
+ * fixed false positive in the detection of case-insensitive FS
+
+- 1.4.5 - 2005-10-02
+
+ * added all DeltaV methods as known methods
+ * added buffer-to-disk of request content
+ * added warning for unused variables in conditionals
+ * added global index-generators to mod_indexfile
+ * fixed caching for remote-ip conditionals with keep-alive
+ * fixed redirects with content
+ * fixed infinite loop in exec-cmd in mod_ssi
+ * fixed segfault in config handling for mod_mysql_vhost
+ * fixed segfault on FIFOs/Sockets
+ * fixed possible crash on uninit memory if If-Modified-Since was too long
+ * fixed accounting of mem-chunks
+ * fixed starving of connections on high load
+ * fixed crc errors in mod_compress on 64bit platforms
+ * fixed handling of overlapping fastcgi packets (bug added in 1.4.4)
+ * fixed logic of conditionals if a header was not set
+ * fixed a segfault in mod_rewrite if %1 references were used
+ * fixed handling of empty request URIs in HTTP requests
+
+- 1.4.4 - 2005-09-16
+ * added support for %V in mod_accesslog
+ * added a option for a FastCGI responser to send static files
+ * added md5 and blowfish hashes to htpasswd
+ * fixed METHOD in mod_accesslog of WebDAV methods
+ * fixed check for permission before files in sent
+ * fixed mod-proxy and content for non-POST requests
+ * fixed compilation of mod_cml on MacOS X
+ * fixed SSL errmsg after accept()
+ * fixed memleak in stat-cache
+ * fixed aborted connections if file was moved while in transfer
+ * fixed mem-usage for large FastCGI transfers
+
+- 1.4.3 - 2005-09-01
+
+ * added gracefull shutdown
+ * added server.max-connections
+ * fixed compilation on all BSD platforms
+ * fixed init of kqueue and /dev/poll after daemonize
+ * fixed segfault if select() is event-handler and more than FD_SETSIZE
+ fds are opened
+ * fixed compilation of mod_cml
+ * fixed bin-copy-env in mod_fastcgi
+
+- 1.4.2 - 2005-08-29
+
+ * fixed mimetype detection on uppercase extensions
+ * fixed memleak in stat-cache
+ * fixed infinite loop in mod_cgi
+ * fixed alignment crashes on sparc64 and alpha64
+ * fixed test system for gentoo ebuild
+ * fixed infinite loop in SSL
+ * fixed range request for files > 2Gb
+
+- 1.4.1 - 2005-08-22
+
+ * added a complete Class 1 complient mod_webdav
+ * fixed ssl support (especially on OpenBSD)
+ * fixed response header in body problem in mod_cgi
+ * fixed numbers before body problem
+ * fixed compilation on Solaris and FreeBSD
+ * fixed conditional options in mod_dirlisting
+ * fixed segfault in mod_dirlisting for NFS directories
+ * fixed check for docroot in change-root environments
+
+- 1.4.0 - 2005-08-17
+
+ * added nested conditionals
+ * added remote-ip to $HTTP
+ * added support for stat-cache via FAM
+ * added a read-only WebDAV module
+ * fixed cleanup in mod_proxy and mod_fastcgi
+ * fixed handling of filenames on case-insensitive filesystems
+
+- 1.3.16 - 2005-07-31
+
+ * added Date: headers to dynamic HTTP/1.0 requests
+ * added support for OPTION * HTTP/1.1
+ * added support for accesslog to syslog
+ * added support for PATH_INFO guessing if check-local is disabled in
+ mod_fastcgi
+ * added switch to disable range-requests
+ * added valid-user option for mod_auth (tigger at gentoo.org)
+ * added JavaScript based sorting to mod_status (erik)
+ * added selective TCP_CORK (Christian von Roques)
+ * break up endless loops with Status: 500
+ * fixed endless loops in mod_rewrite
+ * mapped url.rewrite and url.rewrite-final to uri.rewrite-once
+ * fixed compilation for mod_trigger_b4_dl
+ * fixed 'can't reach host' in mod_proxy
+ * error-handler-404 defaults to Status: 200 and static files work now
+
+- 1.3.15 - 2005-07-15
+
+ * added mod_cml
+ * added mod_trigger_b4_dl
+ * added encoding to mod_dirlisting
+ * added ?auto to mod_status
+ * relaxed handling of characters in URIs even more
+ * fixed detection of sendfile() on Linux 2.4.x
+ * fixed comparision of buffers for short strings
+ * server.errorfile-prefix is now conditional
+ * fixed mod_rrdtool to close STDERR
+
+- 1.3.14 - 2005-06-15
+
+ * added SCGI support via mod_scgi
+ * added hash-based and round-robin load balancing to mod_proxy
+ * fixed range requests larger than 2Gb
+ * fixed compilation on Solaris
+ * fixed endless loops in mod_fastcgi, mod_cgi and mod_proxy
+ * fixed handling of URIs for '+' and characters > 127
+
+- 1.3.13 - 2005-03-06
+
+ * added customizable directory listings
+ * fixed compile error on all BSD unixes
+ * fixed PATHINFO handling for FastCGI
+ * fixed handling of remote-close on FreeBSD and OpenSSL
+
+- 1.3.12 - 2005-03-02
+
+ * added ssl.ca-file
+ * added support for \n\n as terminator
+ * rewrote test-framework and added more tests
+ * fixed cgi.assign with empty handler
+ * fixed segfault in debug-code
+ * fixed mod_expire if modification-timestamps are used
+ * fixed segfault on duplication Host-headers
+ * fixed endless loop in mod_fastcgi
+ * fixed handling of dead fastcgi-processes
+
+- 1.3.11 - 2005-02-20
+
+ * added REMOTE_PORT and SERVER_ADDR to CGI-env
+ * relaxed handling of newlines before keep-alive requests
+ * relaxed uri-parser again
+ * fixed PHP_SELF for php
+ * fixed compilation on MacOS X
+ * fixed handling of EPIPE and ECONNRESET
+ * fixed crash in mod_auth if config-options are missing
+ * fixed handling of missing trailing / in mod_userdir
+ * fixed conditional secdownload.secret
+ * fixed REPORT ME error due to failed reconnects in mod_fastcgi
+ * fixed cmdline handling in mod_fastcgi
+
+- 1.3.10 - 2005-02-06
+
+ * added support for full commandline in spawn-fcgi
+ * fixed missing check for IP-address in mod_fastcgi
+ * fixed compile error with openssl in mod_fastcgi
+ * removed a debug-message from network-functions
+
+- 1.3.9 - 2005-02-06
+
+ * added a stricter URI parser
+ * added a check to the CGI spawner if the cgi-handler exists
+ * added documentation for SSL and mod_status
+ * added handling of startup environment to FastCGI
+ * improved performance in FastCGI in buildind the FastCGI header
+ * fixed min-procs and max-procs in FastCGI on PowerPC
+ * fixed crash in setenv.add-response-header
+ * fixed handling of nph-scripts in CGI
+ * fixed accidently sending out physical file in CGI on error
+ * fixed cygwin support
+ * fixed handling of missing files
+ * fixed HEAD requests for dynamic requests
+
+- 1.3.8 - 2005-01-30
+
+ * added traffic shaping by remote host and virtual server
+ * added auto-spawning of FastCGI process on demand
+ * added virtual host based on MySQL
+ * added mod_setenv to add envirnoment and http headers on the fly
+ * added support for syslog in mod_accesslog
+ * improved output of mod_status
+ * improved debug output in request handling
+ * fixed build problems on netbsd 1.4.x and 1.5.x
+ * fixed status.url configuration
+ * fixed handling of != and !~ in configutation
+ * fixed special cases in keep-alive handling
+ * fixed timeout handling in handling POST requests
+ * fixed mode AUTHORIZER in FastCGI
+ * fixed handling if internal redirects if no Host: is supplied
+ * fixed mod_alias + pathinfo
+ * fixed directory indexes and permissions
+ * enabled sending errorlog to syslog again
+
+- 1.3.7 - 2004-12-11
+
+ * added retries for a fastcgi connect if a php-childs
+ dies at startup
+ * update the debian directory
+ * added setgroups() to drop all group-privs
+ * added native port to windows via mingw32
+ * added server.tag = '...'
+ * added support for ${...} in mod_ssi
+ * ported all plugins to conditional support
+ * fixed multipart handling in cgi
+ * fixed kqueue event-handler
+ * fixed wrap-around in mod_status
+ * fixed crash with SSL + FastCGI
+ * fixed detection of SSL headers
+ * fixed handling of dangling SSL_shutdown
+ * fixed detection of keep-alive of Firefox
+
+- 1.3.6 - 2004-11-03
+
+ * added spawn-fcgi to the distribution
+ * added support in fastcgi module to spawn fastcgi
+ processes itself
+ * fixed logfile cycling if external logging is used
+ * fixed connection handling in fastcgi if no chunk
+ encoding is used
+ * fixed internal redirects on directories if a query
+ string is supplied
+ * fixed cgi-module for POST request above 4k
+ * fixed mod_alias and follow-symlink
+
+- 1.3.5 - 2004-10-31
+
+ * added mod_alias
+ * added mod_userdir
+ * added the exec command to the SSI handler
+ * added a switch to disable follow-symlinks
+ * added a switch to disable IPv6 at compile-time
+ * fixed compilation on FreeBSD and NetBSD 1.3.x
+ * fixed segfault in pipelining
+ * fixed a segfault in writev() handler if LFS is used
+
+- 1.3.4 - 2004-10-24
+
+ * added limiter for open files
+ * added logging of user supplied data to accesslogs
+ * added build target for OpenWRT
+ * added plain backend support for auth-digest
+ * fixed handling the external accesslog processes
+ * fixed SERVER_NAME in CGI and FastCGI
+
+- 1.3.3 - 2004-10-16
+
+ * added support for NL terminators in CGI-scripts
+ * added support for conditionals in mod_auth,
+ mod_simple_vhost and mod_evhost
+ * added a error-handler for 404 codes
+ * fixed request counter in the rrdtool module
+ * fixed log-file cycling
+ * fixed seg-fault
+
+- 1.3.2 - 2004-09-30
+
+ * fixed file-cache
+
+- 1.3.1 - 2004-09-30
+
+ * fixed file-cache
+ * fixed parsing of IPv6 adresses
+ * fixed cgi for cygwin
+ * fixed test-suite for FreeBSD and IRIX
+ * fixed handling of shrinked files
+ * fixed handling of REQUEST_URI after rewrite
+
+- 1.3.0 - 2004-09-17
+
+ * added build for MacOS X and Cygwin
+ * added handling of more than one socket
+ * added config-conditions for User-Agent and Referer
+ * added final rewrite-rules
+
+- 1.2.8 - 2004-09-11
+
+ * added a cache for mimetypes
+ * added X-Forwarded-For for mod_proxy
+ * fixed handling of comments in If-Modified-Since
+ * fixed error handling in FastCGI code
+ * fixed expire plugin for second Expire header
+
+- 1.2.7 - 2004-09-04
+
+ * added mod_rrdtool for internal statistics
+ * added xattr support
+ * added user-controlable timeouts
+ * improved documentation for many plugins
+ * fixed POST requests for mod_proxy
+ * fixed rare hang with CGI
+ * fixed seg-fault if no configfile is specified
+ * fixed rare problem in FastCGI header generation
+
+- 1.2.6 - 2004-08-26
+
+ * added apache-like accesslog definition
+ * enabled timestamp cache again
+ * improved performance in the string compare functions
+ * fixed double-free in fastcgi handler
+ * fixed error-handling in cgi handler
+
+- 1.2.5 - 2004-08-10
+
+ * added skeleton for solaris 10 port-API
+ * added compression support even if no cachedir is set
+ * added conditional configoptions
+ * fixed compilation on OpenBSD
+ * fixed kqueue support
+ * fixed pipelining bug
+ * fixed parallel build (triggered by Gentoo)
+ * updated debian postinst
+
+- 1.2.4 - 2004-07-31
+
+ * added kqueue support
+ * added server-side includes (mod_ssi)
+ * fixed large post uploads in fastcgi
+ * fixed rt-signals handling of delayed events
+
+- 1.2.3 - 2004-07-10
+
+ * added a proxy module for Java and friends
+ * added support to pass accesslog through an external programm
+ * added mimetypes for text/css and text/javascript
+ * fixed index-files for FastCGI if webserver is in chroot
+ * fixed error messages of CGI process fails to exec()
+ * fixed detection of pcre on IRIX and FreeBSD
+ * fixed timestamps in Last-Modified checks
+ * fixed 64bit builds
+ * fixed mmap-caching of large files
+ * relaxed the HTTP parser on empty headerfields
+
+- 1.2.2 - 2004-06-15
+
+ * added support for unix domain sockets in FastCGI
+ * fixed mmap caching
+ * fixed compile-time check for linux sendfile()
+ * fixed check for pcre.h on Fedora Core 2
+
+- 1.2.1 - 2004-05-30
+
+ * added experimental support for AIX send_file()
+ * added an mmap cache to the filehandle cache
+ * enabled FreeBSD sendfile support again
+ * added support for calling CGI binaries directly
+ * fixed pipelining for POST requests
+ * fixed some seg-faults if no configfile is used
+
+- 1.2.0 - 2004-05-17
+
+ * added conforming Expect: handling
+ * added a module for secure and fast downloading
+ * rewrote the event handling interface
+ * fixed array handling which might lead to 'missing header'
+ * fixed pipelining support
+ * fixed build of the localizer extension
+ * fixed cgi handling for headers which are flushed to often
+ * fixed compilation on Solaris 2.5
+
+- 1.1.9 - 2004-04-29
+
+ * added AUTHORIZER mode to the FastCGI module
+ * added 'check-local' option to disable local stat() in the FastCGI module
+ * added prefix-notation for FastCGI module
+ * added 'mod_usertrack'
+ * improved CGI/FastCGI spec conformance
+ * more code cleanup
+ * fixed HTTP/1.1 chunk headers
+ * fixed POST handling
+ * fixed SSL network handler
+ * fixed writev() network handler
+
+- 1.1.8 - 2004-04-16
+
+ * code cleanup
+ * limiting the size of the request-body and the request-header
+ * minor speed improvements
+ * tightend the HTTP-Parser again
+
+- 1.1.7 - 2004-04-12
+
+ * added REMOTE_USER to the Server->FastCGI parameters
+ * added bzip2 compression
+ * improved the error-messages from the new configfile parser
+ * fixed accesslog writing for errornous requests
+ * fixed LFS (64bit filesizes) handling
+ * fixed Content-Length for HEAD requests
+ * fixed some memory leaks in the configfile parser
+
+- 1.1.6 - 2004-04-10
+
+ * tightend the HTTP-Parser
+ * rewrote the configfile parser (based on lemon)
+ * fixed openssl support
+ * fixed mmap+write support
+ * use localtime in accesslog if possible
+
+- 1.1.5 - 2004-04-07
+
+ * added ldap backend to the auth
+ * added a mod_expire
+ * added debian packaging structure
+ * merged redhat and suse spec-file
+ * fixed eventhandler for solaris
+ * fixed 64bit fileoffsets
+ * fixed permissions of the PID-file
+
+- 1.1.4 - 2004-04-04
+
+ * added server.pid-file
+ * added support for solaris /dev/poll and solaris sendfilev()
+ * added support for writev()
+ * added PATHINFO support (again)
+ * fixed CLF logfile writing
+
+- 1.1.3 - 2004-03-25
+
+ * set default event-handler to 'poll'
+ * fixed logcycling in chroot()
+ * fixed hostname detection
+ * added syslog() as fallback for error-logging
+
+- 1.1.2 - 2004-03-22
+
+ * added a "docroot" setting for fastcgi processes
+ * performance improvements
+ * improved configure script
+ * rewrote the fastcgi config parser
+ * added a rc-script for RedHat
+ * added epoll() support for Linux 2.6.x
+
+- 1.1.1 - 2004-03-15
+
+ * added localizer module
+ * performance improvements
+ * code cleanup
+
+- 1.1.0 - 2004-03-06
+
+ * changed some configuration keys for better readability
+ * moved the virtual-host code to mod_simple_vhost
+ * added enhanced virtual host plugin from Christian Kruse
+ * added two new auth-backends (htpasswd, htdigest)
+ * fixed and improved authentification
+ * stricter parsing of the Host: field
+ * added a warning for unused configuration keys
+ * improved FastCGI documentation
+
+- 1.0.3 - 2004-02-13
+
+ * a startup script has been added (LSB compliant)
+ * HEAD requests were submitting the content like a GET request
+ * the virtual directory listing got a face-lifting and fixes
+ * request-headers are now handled case-in-sensitive as required
+ by the standard. this fixes POST requests for w3m and some Proxies.
+
+- 1.0.2 - 2004-02-07
+
+ * rearrangement of the default configfile
+ * some updates in the documentation
+ * a entry in the error-log for a 404
+ * stdout is no longer the default for the accesslog
Added: lighttpd/tags/1.4.28-2/README
===================================================================
--- lighttpd/tags/1.4.28-2/README (rev 0)
+++ lighttpd/tags/1.4.28-2/README 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,156 @@
+
+========
+lighttpd
+========
+
+-------------
+a light httpd
+-------------
+
+:author: Jan Kneschke
+:Date: $Date: 2004/11/03 22:25:54 $
+:Revision: $Revision: 1.8 $
+
+:abstract:
+ lighttpd a secure, fast, compliant and very flexible web-server
+ which has been optimized for high-performance environments. It has a very
+ low memory footprint compared to other webservers and takes care of cpu-load.
+ Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
+ URL-Rewriting and many more) make lighttpd the perfect webserver-software
+ for every server that is suffering load problems.
+
+the naming
+----------
+
+lighttpd is a __httpd__ which is
+
+- fast as __light__ning and
+- __light__ when it comes to memory consumption and system requirements
+
+Features
+--------
+
+Network
+```````
+
+- IPv4, IPv6
+
+Protocols
+`````````
+
+- HTTP/1.0 (http://www.ietf.org/rfc/rfc1945.txt)
+- HTTP/1.1 (http://www.ietf.org/rfc/rfc2616.txt)
+- HTTPS (provided by openssl)
+- CGI/1.1 (http://CGI-Spec.Golux.Com/)
+- FastCGI (http://www.fastcgi.com/devkit/doc/fcgi-spec.html)
+
+Advanced Features
+`````````````````
+
+- load-balanced FastCGI
+ (one webserver distributes requests to multiple PHP-servers via FastCGI)
+- custom error pages (for Response-Code 400-599)
+- virtual hosts
+- directory listings
+- streaming CGI and FastCGI
+- URL-Rewriting
+- HTTP-Redirection
+- output-compression with transparent caching
+
+FastCGI-Support
+```````````````
+
+- parses the Response-header and completes the HTTP-header accordingly
+- Keep-Alive handling based on Content-Length header
+
+PHP-Support
+```````````
+
+- same speed as or faster than apache + mod_php4
+- handles various PHP bugs in the FastCGI SAPI
+- includes a utility to spawn FastCGI processes (necessary for PHP 4.3.x)
+
+Security features
+`````````````````
+
+- chroot(), set UID, set GID
+- protecting docroot
+
+HTTP/1.1 features
+`````````````````
+
+- Ranges (start-end, start-, -end, multiple ranges)
+- HTTP/1.0 Keep-Alive + HTTP/1.1 persistent Connections
+- methods: GET, HEAD, POST
+- Last-Modified + If-Modified handling
+- sends Content-Length if possible
+- sends Transfer-Encoding: chunk, if Content-Length is not possible
+- sends Content-Type
+- on-the-fly output compression (deflate, gzip)
+- authentication: basic and digest
+ (http://www.ietf.org/rfc/rfc2617.txt)
+
+HTTP/1.1 compliance
+```````````````````
+
+- Sends 206 for Range Requests
+- Sends 304 for If-Modified Requests
+- Sends 400 for missing Host on HTTP/1.1 requests
+- Sends 400 for broken Request-Line
+- Sends 411 for missing Content-Length on POST requests
+- Sends 416 for "out-of-range" on Range: Header
+- Sends 501 for request-method != (GET|POST|HEAD)
+- Sends 505 for protocol != HTTP/1.0 or HTTP/1.1
+- Sends Date: on every requests
+
+Intended Audience
+-----------------
+
+- Ad-Server Front-Ends ("Banner-Schleuder")
+ - delivering small files rapidly
+- php-servers under high load
+ (load-balancing the php-request over multiple PHP-servers)
+
+Works with
+----------
+
+It has been tested to work with
+
+- IE 6.0
+- Mozilla 1.x
+- Konqueror 3.1
+ (for Keep-Alive/Persistent Connections, Accept-Encoding for PHP + gzip)
+- wget
+ (for Resuming)
+- acrobat plugin
+ (for multiple ranges)
+
+
+Works on
+--------
+
+lighttpd has been verified to compile and work on
+
+- Linux
+- FreeBSD
+- NetBSD
+- Solaris 8 + 9
+- SGI IRIX 6.5
+
+missing for HTTP/1.1 compliance
+-------------------------------
+- parsing chunked POST request
+
+-----------------
+Starting lighttpd
+-----------------
+
+As daemon in the background: ::
+
+ $ lighttpd -f
+
+or without detaching from the console: ::
+
+ $ lighttpd -D -f
+
+
Added: lighttpd/tags/1.4.28-2/SConstruct
===================================================================
--- lighttpd/tags/1.4.28-2/SConstruct (rev 0)
+++ lighttpd/tags/1.4.28-2/SConstruct 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,277 @@
+import os
+import sys
+import re
+import string
+from stat import *
+
+package = 'lighttpd'
+version = '1.4.28'
+
+def checkCHeaders(autoconf, hdrs):
+ p = re.compile('[^A-Z0-9]')
+ for hdr in hdrs:
+ if not hdr:
+ continue
+ _hdr = Split(hdr)
+ if autoconf.CheckCHeader(_hdr):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_' + p.sub('_', _hdr[-1].upper()) ])
+
+def checkFuncs(autoconf, funcs):
+ p = re.compile('[^A-Z0-9]')
+ for func in funcs:
+ if autoconf.CheckFunc(func):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_' + p.sub('_', func.upper()) ])
+
+def checkTypes(autoconf, types):
+ p = re.compile('[^A-Z0-9]')
+ for type in types:
+ if autoconf.CheckType(type, '#include '):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_' + p.sub('_', type.upper()) ])
+
+def checkProgram(env, withname, progname):
+ withname = 'with_' + withname
+ binpath = None
+
+ if env[withname] != 1:
+ binpath = env[withname]
+ else:
+ prog = env.Detect(progname)
+ if prog:
+ binpath = env.WhereIs(prog)
+
+ if binpath:
+ mode = os.stat(binpath)[ST_MODE]
+ if S_ISDIR(mode):
+ print >> sys.stderr, "* error: path `%s' is a directory" % (binpath)
+ env.Exit(-1)
+ if not S_ISREG(mode):
+ print >> sys.stderr, "* error: path `%s' is not a file or not exists" % (binpath)
+ env.Exit(-1)
+
+ if not binpath:
+ print >> sys.stderr, "* error: can't find program `%s'" % (progname)
+ env.Exit(-1)
+
+ return binpath
+
+def checkStructMember(context):
+ struct_member = """
+#include
+int main() {
+ struct tm a;
+ a.tm_gmtoff = 0;
+ return 0;
+}
+"""
+ context.Message('Checking for tm_gmtoff in struct tm...')
+ result = context.TryLink(struct_member, '.c')
+ context.Result(result)
+
+ return result
+
+
+BuildDir('build', 'src', duplicate = 0)
+
+opts = Options('config.py')
+opts.AddOptions(
+ ('prefix', 'prefix', '/usr/local'),
+ ('bindir', 'binary directory', '${prefix}/bin'),
+ ('sbindir', 'binary directory', '${prefix}/sbin'),
+ ('libdir', 'library directory', '${prefix}/lib'),
+ PackageOption('with_mysql', 'enable mysql support', 'no'),
+ PackageOption('with_xml', 'enable xml support', 'no'),
+ PackageOption('with_pcre', 'enable pcre support', 'yes'),
+ PathOption('CC', 'path to the c-compiler', None),
+ BoolOption('build_dynamic', 'enable dynamic build', 'yes'),
+ BoolOption('build_static', 'enable static build', 'no'),
+ BoolOption('build_fullstatic', 'enable fullstatic build', 'no'),
+ BoolOption('with_sqlite3', 'enable sqlite3 support', 'no'),
+ BoolOption('with_memcache', 'enable memcache support', 'no'),
+ BoolOption('with_fam', 'enable FAM/gamin support', 'no'),
+ BoolOption('with_openssl', 'enable memcache support', 'no'),
+ BoolOption('with_gzip', 'enable gzip compression', 'no'),
+ BoolOption('with_bzip2', 'enable bzip2 compression', 'no'),
+ BoolOption('with_lua', 'enable lua support for mod_cml', 'no'),
+ BoolOption('with_ldap', 'enable ldap auth support', 'no'))
+
+env = Environment(
+ env = os.environ,
+ options = opts,
+ CPPPATH = Split('#build')
+)
+
+env.Help(opts.GenerateHelpText(env))
+
+if env.subst('${CC}') is not '':
+ env['CC'] = env.subst('${CC}')
+
+env['package'] = package
+env['version'] = version
+if env['CC'] == 'gcc':
+ ## we need x-open 6 and bsd 4.3 features
+ env.Append(CCFLAGS = Split('-Wall -O2 -g -W -pedantic -Wunused -Wshadow -std=gnu99'))
+
+# cache configure checks
+if 1:
+ autoconf = Configure(env, custom_tests = {'CheckStructMember': checkStructMember })
+ autoconf.headerfile = "foo.h"
+ checkCHeaders(autoconf, string.split("""
+ arpa/inet.h
+ fcntl.h
+ netinet/in.h
+ sys/types.h netinet/in.h
+ stdlib.h
+ string.h
+ sys/socket.h
+ sys/types.h sys/socket.h
+ sys/time.h
+ unistd.h
+ sys/sendfile.h
+ sys/uio.h
+ sys/types.h sys/uio.h
+ getopt.h
+ sys/epoll.h
+ sys/select.h
+ sys/types.h sys/select.h
+ poll.h
+ sys/poll.h
+ sys/devpoll.h
+ sys/filio.h
+ sys/mman.h
+ sys/types.h sys/mman.h
+ sys/event.h
+ sys/types.h sys/event.h
+ sys/port.h
+ winsock2.h
+ pwd.h
+ sys/syslimits.h
+ sys/resource.h
+ sys/time.h sys/types.h sys/resource.h
+ sys/un.h
+ sys/types.h sys/un.h
+ syslog.h
+ stdint.h
+ inttypes.h
+ sys/prctl.h
+ sys/wait.h""", "\n"))
+
+ checkFuncs(autoconf, Split('fork stat lstat strftime dup2 getcwd inet_ntoa inet_ntop memset mmap munmap strchr \
+ strdup strerror strstr strtol sendfile getopt socket \
+ gethostbyname poll epoll_ctl getrlimit chroot \
+ getuid select signal pathconf madvise prctl\
+ writev sigaction sendfile64 send_file kqueue port_create localtime_r posix_fadvise issetugid inet_pton'))
+
+ checkTypes(autoconf, Split('pid_t size_t off_t'))
+
+ autoconf.env.Append( LIBSQLITE3 = '', LIBXML2 = '', LIBMYSQL = '', LIBZ = '',
+ LIBBZ2 = '', LIBCRYPT = '', LIBMEMCACHE = '', LIBFCGI = '', LIBPCRE = '',
+ LIBLDAP = '', LIBLBER = '', LIBLUA = '', LIBLUALIB = '', LIBDL = '')
+
+ if env['with_fam']:
+ if autoconf.CheckLibWithHeader('fam', 'fam.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_FAM_H', '-DHAVE_LIBFAM' ], LIBS = 'fam')
+ checkFuncs(autoconf, ['FAMNoExists']);
+
+
+ if autoconf.CheckLibWithHeader('crypt', 'crypt.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_CRYPT_H', '-DHAVE_LIBCRYPT' ], LIBCRYPT = 'crypt')
+
+ if autoconf.CheckLibWithHeader('uuid', 'uuid/uuid.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_UUID_UUID_H', '-DHAVE_LIBUUID' ], LIBUUID = 'uuid')
+
+ if env['with_openssl']:
+ if autoconf.CheckLibWithHeader('ssl', 'openssl/ssl.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_OPENSSL_SSL_H', '-DHAVE_LIBSSL'] , LIBS = [ 'ssl', 'crypto' ])
+
+ if env['with_gzip']:
+ if autoconf.CheckLibWithHeader('z', 'zlib.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_ZLIB_H', '-DHAVE_LIBZ' ], LIBZ = 'z')
+
+ if env['with_ldap']:
+ if autoconf.CheckLibWithHeader('ldap', 'ldap.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_LDAP_H', '-DHAVE_LIBLDAP' ], LIBLDAP = 'ldap')
+ if autoconf.CheckLibWithHeader('lber', 'lber.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_LBER_H', '-DHAVE_LIBLBER' ], LIBLBER = 'lber')
+
+ if env['with_bzip2']:
+ if autoconf.CheckLibWithHeader('bz2', 'bzlib.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_BZLIB_H', '-DHAVE_LIBBZ2' ], LIBBZ2 = 'bz2')
+
+ if env['with_memcache']:
+ if autoconf.CheckLibWithHeader('memcache', 'memcache.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_MEMCACHE_H', '-DHAVE_LIBMEMCACHE' ], LIBMEMCACHE = 'memcache')
+
+ if env['with_sqlite3']:
+ if autoconf.CheckLibWithHeader('sqlite3', 'sqlite3.h', 'C'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_SQLITE3_H', '-DHAVE_LIBSQLITE3' ], LIBSQLITE3 = 'sqlite3')
+
+ ol = env['LIBS']
+ if autoconf.CheckLibWithHeader('fcgi', 'fastcgi.h', 'C'):
+ autoconf.env.Append(LIBFCGI = 'fcgi')
+ env['LIBS'] = ol
+
+ ol = env['LIBS']
+ if autoconf.CheckLibWithHeader('dl', 'dlfcn.h', 'C'):
+ autoconf.env.Append(LIBDL = 'dl')
+ env['LIBS'] = ol
+
+ if autoconf.CheckType('socklen_t', '#include \n#include \n#include '):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_SOCKLEN_T' ])
+
+ if autoconf.CheckType('struct sockaddr_storage', '#include \n'):
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_STRUCT_SOCKADDR_STORAGE' ])
+
+ if autoconf.CheckStructMember():
+ autoconf.env.Append(CPPFLAGS = [ '-DHAVE_STRUCT_TM_GMTOFF' ])
+
+ env = autoconf.Finish()
+
+ if env['with_lua']:
+ oldlibs = env['LIBS']
+ env.ParseConfig("pkg-config 'lua >= 5.0' --cflags --libs")
+ lualibs = env['LIBS'][len(oldlibs):]
+ env.Append(LIBLUA = lualibs)
+ env.Append(CPPFLAGS = [ '-DHAVE_LUA_H' ])
+ env['LIBS'] = oldlibs
+
+
+if env['with_pcre']:
+ pcre_config = checkProgram(env, 'pcre', 'pcre-config')
+ env.ParseConfig(pcre_config + ' --cflags --libs')
+ env.Append(CPPFLAGS = [ '-DHAVE_PCRE_H', '-DHAVE_LIBPCRE' ], LIBPCRE = 'pcre')
+
+if env['with_xml']:
+ xml2_config = checkProgram(env, 'xml', 'xml2-config')
+ oldlib = env['LIBS']
+ env['LIBS'] = []
+ env.ParseConfig(xml2_config + ' --cflags --libs')
+ env.Append(CPPFLAGS = [ '-DHAVE_LIBXML_H', '-DHAVE_LIBXML2' ], LIBXML2 = env['LIBS'])
+ env['LIBS'] = oldlib
+
+if env['with_mysql']:
+ mysql_config = checkProgram(env, 'mysql', 'mysql_config')
+ oldlib = env['LIBS']
+ env['LIBS'] = []
+ env.ParseConfig(mysql_config + ' --cflags --libs')
+ env.Append(CPPFLAGS = [ '-DHAVE_MYSQL_H', '-DHAVE_LIBMYSQL' ], LIBMYSQL = 'mysqlclient')
+ env['LIBS'] = oldlib
+
+if re.compile("cygwin|mingw").search(env['PLATFORM']):
+ env.Append(COMMON_LIB = 'bin')
+elif re.compile("darwin|aix").search(env['PLATFORM']):
+ env.Append(COMMON_LIB = 'lib')
+else:
+ env.Append(COMMON_LIB = False)
+
+versions = string.split(version, '.')
+version_id = int(versions[0]) << 16 | int(versions[1]) << 8 | int(versions[2])
+env.Append(CPPFLAGS = [
+ '-DLIGHTTPD_VERSION_ID=' + str(version_id),
+ '-DPACKAGE_NAME=\\"' + package + '\\"',
+ '-DPACKAGE_VERSION=\\"' + version + '\\"',
+ '-DLIBRARY_DIR="\\"${libdir}\\""',
+ '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE_SOURCE', '-D_LARGE_FILES'
+ ] )
+
+SConscript( 'src/SConscript', 'env', build_dir = 'build', duplicate = 0)
+SConscript( 'tests/SConscript', 'env' )
Added: lighttpd/tags/1.4.28-2/aclocal.m4
===================================================================
--- lighttpd/tags/1.4.28-2/aclocal.m4 (rev 0)
+++ lighttpd/tags/1.4.28-2/aclocal.m4 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,1219 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright ?? 2004 Scott James Remnant .
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see .])dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+dnl Make sure AC_PROG_CC is never called again, or it will override our
+dnl setting of CC.
+m4_define([AC_PROG_CC],
+ [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+AC_DEFUN([AM_C_PROTOTYPES],
+[AC_REQUIRE([AC_C_PROTOTYPES])
+if test "$ac_cv_prog_cc_stdc" != no; then
+ U= ANSI2KNR=
+else
+ U=_ ANSI2KNR=./ansi2knr
+fi
+# Ensure some checks needed by ansi2knr itself.
+AC_REQUIRE([AC_HEADER_STDC])
+AC_CHECK_HEADERS([string.h])
+AC_SUBST([U])dnl
+AC_SUBST([ANSI2KNR])dnl
+_AM_SUBST_NOTMAKE([ANSI2KNR])dnl
+])
+
+AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
Added: lighttpd/tags/1.4.28-2/autogen.sh
===================================================================
--- lighttpd/tags/1.4.28-2/autogen.sh (rev 0)
+++ lighttpd/tags/1.4.28-2/autogen.sh 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,92 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+LIBTOOLIZE_FLAGS="--copy --force"
+AUTOMAKE_FLAGS="--add-missing --copy --foreign"
+
+ARGV0=$0
+ARGS="$@"
+
+
+run() {
+ echo "$ARGV0: running \`$@' $ARGS"
+ $@ $ARGS
+}
+
+## jump out if one of the programs returns 'false'
+set -e
+
+## on macosx glibtoolize, others have libtool
+if test x$LIBTOOLIZE = x; then
+ if test \! "x`which glibtoolize 2> /dev/null | grep -v '^no'`" = x; then
+ LIBTOOLIZE=glibtoolize
+ elif test \! "x`which libtoolize-1.5 2> /dev/null | grep -v '^no'`" = x; then
+ LIBTOOLIZE=libtoolize-1.5
+ elif test \! "x`which libtoolize 2> /dev/null | grep -v '^no'`" = x; then
+ LIBTOOLIZE=libtoolize
+ else
+ echo "libtoolize 1.5.x wasn't found, exiting"; exit 0
+ fi
+fi
+
+## suse has aclocal and aclocal-1.9
+if test x$ACLOCAL = x; then
+ if test \! "x`which aclocal-1.9 2> /dev/null | grep -v '^no'`" = x; then
+ ACLOCAL=aclocal-1.9
+ elif test \! "x`which aclocal19 2> /dev/null | grep -v '^no'`" = x; then
+ ACLOCAL=aclocal19
+ elif test \! "x`which aclocal 2> /dev/null | grep -v '^no'`" = x; then
+ ACLOCAL=aclocal
+ else
+ echo "automake 1.9.x (aclocal) wasn't found, exiting"; exit 0
+ fi
+fi
+
+if test x$AUTOMAKE = x; then
+ if test \! "x`which automake-1.9 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOMAKE=automake-1.9
+ elif test \! "x`which automake19 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOMAKE=automake19
+ elif test \! "x`which automake 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOMAKE=automake
+ else
+ echo "automake 1.9.x wasn't found, exiting"; exit 0
+ fi
+fi
+
+
+## macosx has autoconf-2.59 and autoconf-2.60
+if test x$AUTOCONF = x; then
+ if test \! "x`which autoconf-2.59 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOCONF=autoconf-2.59
+ elif test \! "x`which autoconf259 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOCONF=autoconf259
+ elif test \! "x`which autoconf 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOCONF=autoconf
+ else
+ echo "autoconf 2.59+ wasn't found, exiting"; exit 0
+ fi
+fi
+
+if test x$AUTOHEADER = x; then
+ if test \! "x`which autoheader-2.59 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOHEADER=autoheader-2.59
+ elif test \! "x`which autoheader259 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOHEADER=autoheader259
+ elif test \! "x`which autoheader 2> /dev/null | grep -v '^no'`" = x; then
+ AUTOHEADER=autoheader
+ else
+ echo "autoconf 2.59+ (autoheader) wasn't found, exiting"; exit 0
+ fi
+fi
+
+mkdir -p m4
+run $LIBTOOLIZE $LIBTOOLIZE_FLAGS
+run $ACLOCAL $ACLOCAL_FLAGS -I m4
+run $AUTOHEADER
+run $AUTOMAKE $AUTOMAKE_FLAGS
+run $AUTOCONF
+
+if test "$ARGS" = "" ; then
+ echo "Now type './configure ...' and 'make' to compile."
+fi
Property changes on: lighttpd/tags/1.4.28-2/autogen.sh
___________________________________________________________________
Added: svn:executable
+ *
Added: lighttpd/tags/1.4.28-2/compile
===================================================================
--- lighttpd/tags/1.4.28-2/compile (rev 0)
+++ lighttpd/tags/1.4.28-2/compile 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,143 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
+# Written by Tom Tromey .
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to or send patches to
+# .
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to .
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as `compile cc -o foo foo.c'.
+ # So we strip `-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no `-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # `.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
Property changes on: lighttpd/tags/1.4.28-2/compile
___________________________________________________________________
Added: svn:executable
+ *
Added: lighttpd/tags/1.4.28-2/config.guess
===================================================================
--- lighttpd/tags/1.4.28-2/config.guess (rev 0)
+++ lighttpd/tags/1.4.28-2/config.guess 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,1533 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-06-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner .
+# Please send patches to . Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to ."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include
+ #include
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd | genuineintel)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes .
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf at swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green at stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green at stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <
+# include
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 < in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Property changes on: lighttpd/tags/1.4.28-2/config.guess
___________________________________________________________________
Added: svn:executable
+ *
Added: lighttpd/tags/1.4.28-2/config.h.in
===================================================================
--- lighttpd/tags/1.4.28-2/config.h.in (rev 0)
+++ lighttpd/tags/1.4.28-2/config.h.in 2011-12-18 20:55:43 UTC (rev 562)
@@ -0,0 +1,497 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ATTR_ATTRIBUTES_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_BZLIB_H
+
+/* Define to 1 if you have the `chroot' function. */
+#undef HAVE_CHROOT
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_CRYPT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `dup2' function. */
+#undef HAVE_DUP2
+
+/* Define to 1 if you have the `epoll_ctl' function. */
+#undef HAVE_EPOLL_CTL
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ERRMSG_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_EV_H
+
+/* Define to 1 if you have the `FAMNoExists' function. */
+#undef HAVE_FAMNOEXISTS
+
+/* fam.h */
+#undef HAVE_FAM_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_FASTCGI_FASTCGI_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_FASTCGI_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* libgdbm */
+#undef HAVE_GDBM
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_GDBM_H
+
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the `getopt' function. */
+#undef HAVE_GETOPT
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `getuid' function. */
+#undef HAVE_GETUID
+
+/* Define to 1 if you have the `gmtime_r' function. */
+#undef HAVE_GMTIME_R
+
+/* Define to 1 if you have the `inet_ntoa' function. */
+#undef HAVE_INET_NTOA
+
+/* Define to 1 if you have the `inet_ntop' function. */
+#undef HAVE_INET_NTOP
+
+/* Define to 1 if you have the `inet_pton' function. */
+#undef HAVE_INET_PTON
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_INTTYPES_H
+
+/* Whether to enable IPv6 support */
+#undef HAVE_IPV6
+
+/* Define to 1 if you have the `issetugid' function. */
+#undef HAVE_ISSETUGID
+
+/* Define to 1 if you have the `kqueue' function. */
+#undef HAVE_KQUEUE
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_LBER_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_LDAP_H
+
+/* libbz2 */
+#undef HAVE_LIBBZ2
+
+/* libcrypt */
+#undef HAVE_LIBCRYPT
+
+/* libdl */
+#undef HAVE_LIBDL
+
+/* libev support */
+#undef HAVE_LIBEV
+
+/* libfam */
+#undef HAVE_LIBFAM
+
+/* liblber */
+#undef HAVE_LIBLBER
+
+/* libldap */
+#undef HAVE_LIBLDAP
+
+/* libpcre */
+#undef HAVE_LIBPCRE
+
+/* Have libssl */
+#undef HAVE_LIBSSL
+
+/* libxml2 */
+#undef HAVE_LIBXML2
+
+/* libxml.h */
+#undef HAVE_LIBXML_H
+
+/* libz */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* liblua */
+#undef HAVE_LUA
+
+/* lua.h */
+#undef HAVE_LUA_H
+
+/* Define to 1 if you have the `madvise' function. */
+#undef HAVE_MADVISE
+
+/* libmemcache */
+#undef HAVE_MEMCACHE
+
+/* memcache.h */
+#undef HAVE_MEMCACHE_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the `mmap' function. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `munmap' function. */
+#undef HAVE_MUNMAP
+
+/* mysql support */
+#undef HAVE_MYSQL
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_MYSQL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_OPENSSL_SSL_H
+
+/* Define to 1 if you have the `pathconf' function. */
+#undef HAVE_PATHCONF
+
+/* pcre.h */
+#undef HAVE_PCRE_H
+
+/* Define to 1 if you have the `poll' function. */
+#undef HAVE_POLL
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_POLL_H
+
+/* Define to 1 if you have the `port_create' function. */
+#undef HAVE_PORT_CREATE
+
+/* Define to 1 if you have the `posix_fadvise' function. */
+#undef HAVE_POSIX_FADVISE
+
+/* Define to 1 if you have the `posix_madvise' function. */
+#undef HAVE_POSIX_MADVISE
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_PWD_H
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `sendfile' function. */
+#undef HAVE_SENDFILE
+
+/* Define to 1 if you have the `sendfile64' function. */
+#undef HAVE_SENDFILE64
+
+/* solaris sendfilev */
+#undef HAVE_SENDFILEV
+
+/* broken sendfile */
+#undef HAVE_SENDFILE_BROKEN
+
+/* Define to 1 if you have the `send_file' function. */
+#undef HAVE_SEND_FILE
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `signal' function. */
+#undef HAVE_SIGNAL
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#undef HAVE_SOCKLEN_T
+
+/* libsqlite3 */
+#undef HAVE_SQLITE3
+
+/* sqlite3.h */
+#undef HAVE_SQLITE3_H
+
+/* Define to 1 if `stat' has the bug that it succeeds when given the
+ zero-length file name argument. */
+#undef HAVE_STAT_EMPTY_STRING_BUG
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the `strftime' function. */
+#undef HAVE_STRFTIME
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if the system has the type `struct sockaddr_storage'. */
+#undef HAVE_STRUCT_SOCKADDR_STORAGE
+
+/* gmtoff in struct tm */
+#undef HAVE_STRUCT_TM_GMTOFF
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYSLOG_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_DEVPOLL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_EPOLL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_EVENT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_POLL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_PORT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_PRCTL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SENDFILE_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SYSLIMITS_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_UIO_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if you have that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_UNISTD_H
+
+/* libuuid */
+#undef HAVE_UUID
+
+/* uuid/uuid.h is available */
+#undef HAVE_UUID_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_UUID_UUID_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_VALGRIND_VALGRIND_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to 1 if you have the `writev' function. */
+#undef HAVE_WRITEV
+
+/* libattr */
+#undef HAVE_XATTR
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ZLIB_H
+
+/* Using deprecated ldap api */
+#undef LDAP_DEPRECATED
+
+/* lighttpd-version-id */
+#undef LIGHTTPD_VERSION_ID
+
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+ slash. */
+#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#undef PROTOTYPES
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `off_t', as computed by sizeof. */
+#undef SIZEOF_OFF_T
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to 1 if type `char' is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+# undef __CHAR_UNSIGNED__
+#endif
+
+/* Define like PROTOTYPES; this can be used by system headers. */
+#undef __PROTOTYPES
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `long int' if does not define. */
+#undef off_t
+
+/* Define to `int' if |