diff options
author | Ryan Hill <dirtyepic@gentoo.org> | 2007-07-01 17:09:02 +0000 |
---|---|---|
committer | Ryan Hill <dirtyepic@gentoo.org> | 2007-07-01 17:09:02 +0000 |
commit | 0e75a5500539d6e4c5ff0ef592a0034f412f7d98 (patch) | |
tree | 0c7ce0a55073ef228cce21ce3a2a4f4a2c99dbde /www-servers/boa/files | |
parent | Added ant-trax to dep fix for bug #183849 (diff) | |
download | gentoo-2-0e75a5500539d6e4c5ff0ef592a0034f412f7d98.tar.gz gentoo-2-0e75a5500539d6e4c5ff0ef592a0034f412f7d98.tar.bz2 gentoo-2-0e75a5500539d6e4c5ff0ef592a0034f412f7d98.zip |
Remove broken versions, add patch from Debian to support systems w/o
sendfile64(). Unmask.
(Portage version: 2.1.3_rc6)
Diffstat (limited to 'www-servers/boa/files')
-rw-r--r-- | www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch | 50 | ||||
-rw-r--r-- | www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch | 17 |
2 files changed, 17 insertions, 50 deletions
diff --git a/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch b/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch deleted file mode 100644 index ff44da366884..000000000000 --- a/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -urN src/mmap_cache.c /tmp/src/mmap_cache.c ---- src/mmap_cache.c 2004-06-04 03:44:59.000000000 +0100 -+++ /tmp/src/mmap_cache.c 2005-07-28 14:40:50.320610000 +0100 -@@ -79,7 +79,7 @@ - - m = mmap(0, s->st_size, PROT_READ, MAP_OPTIONS, data_fd, 0); - -- if ((int) m == -1) { -+ if (m == MAP_FAILED) { - int saved_errno = errno; - log_error_time(); - fprintf(stderr, "Unable to mmap file: "); -diff -urN src/read.c /tmp/src/read.c ---- src/read.c 2004-06-10 03:00:32.000000000 +0100 -+++ /tmp/src/read.c 2005-07-28 14:40:50.320610000 +0100 -@@ -40,6 +40,7 @@ - { - int bytes; - unsigned char *check, *buffer; -+ size_t len; - - check = req->client_stream + req->parse_pos; - buffer = req->client_stream; -@@ -115,10 +116,11 @@ - if (req->status == ONE_LF) { - *req->header_end = '\0'; - -- if (req->header_end - req->header_line >= MAX_HEADER_LENGTH) { -+ len = req->header_end - req->header_line; -+ if (len >= MAX_HEADER_LENGTH) { - log_error_doc(req); -- fprintf(stderr, "Header too long at %d bytes: \"%s\"\n", -- req->header_end - req->header_line, -+ fprintf(stderr, "Header too long at %lu bytes: \"%s\"\n", -+ len, - req->header_line); - send_r_bad_request(req); - return 0; -diff -urN src/request.c /tmp/src/request.c ---- src/request.c 2004-06-10 02:45:13.000000000 +0100 -+++ /tmp/src/request.c 2005-07-28 14:40:50.320610000 +0100 -@@ -85,7 +85,7 @@ - struct SOCKADDR salocal; - unsigned int remote_addrlen = sizeof (struct SOCKADDR); - request *conn; /* connection */ -- size_t len; -+ socklen_t len; - - #ifndef INET6 - remote_addr.S_FAMILY = (sa_family_t) 0xdead; diff --git a/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch new file mode 100644 index 000000000000..35dc3d2493e7 --- /dev/null +++ b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch @@ -0,0 +1,17 @@ +check for sendfile() returning ENOSYS and fall back to standard I/O. +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330871 + +diff -Naur boa-0.94.14rc21-orig/src/pipe.c boa-0.94.14rc21/src/pipe.c +--- boa-0.94.14rc21-orig/src/pipe.c 2007-07-01 10:49:23.000000000 -0600 ++++ boa-0.94.14rc21/src/pipe.c 2007-07-01 10:56:56.000000000 -0600 +@@ -215,7 +215,9 @@ + } + req->ranges->start = sendfile_offset; + if (bytes_written < 0) { +- if (errno == EWOULDBLOCK || errno == EAGAIN) { ++ if (errno == ENOSYS) { ++ return io_shuffle(req); ++ } else if (errno == EWOULDBLOCK || errno == EAGAIN) { + return -1; /* request blocked at the pipe level, but keep going */ + } else if (errno == EINTR) { + goto retrysendfile; |