diff -u lighttpd-1.4.13/debian/changelog lighttpd-1.4.13/debian/changelog --- lighttpd-1.4.13/debian/changelog +++ lighttpd-1.4.13/debian/changelog @@ -1,3 +1,13 @@ +lighttpd (1.4.13-9ubuntu4.3) feisty-security; urgency=low + + * SECURITY UPDATE: + + debian/patches/90_maxfds_crash_fix.dpatch: + - added patch from upstream to fix the maxfds issue (LP: #195380) + * References + + http://trac.lighttpd.net/trac/ticket/1562 + + -- Emanuele Gentili Mon, 25 Feb 2008 16:35:30 +0100 + lighttpd (1.4.13-9ubuntu4.2) feisty-security; urgency=low * SECURITY UPDATE: fix DoS crash from improper EOL handling in mod_cgi.c diff -u lighttpd-1.4.13/debian/patches/00list lighttpd-1.4.13/debian/patches/00list --- lighttpd-1.4.13/debian/patches/00list +++ lighttpd-1.4.13/debian/patches/00list @@ -13,0 +14 @@ +90_maxfds_crash_fix.dpatch only in patch2: unchanged: --- lighttpd-1.4.13.orig/debian/patches/90_maxfds_crash_fix.dpatch +++ lighttpd-1.4.13/debian/patches/90_maxfds_crash_fix.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_maxfds_crash_fix.dpatch by Emanuele Gentili +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad lighttpd-1.4.13~/src/fdevent_solaris_devpoll.c lighttpd-1.4.13/src/fdevent_solaris_devpoll.c +--- lighttpd-1.4.13~/src/fdevent_solaris_devpoll.c 2006-10-04 15:29:17.000000000 +0200 ++++ lighttpd-1.4.13/src/fdevent_solaris_devpoll.c 2008-02-25 16:34:29.000000000 +0100 +@@ -67,7 +67,7 @@ + int ret; + + dopoll.dp_timeout = timeout_ms; +- dopoll.dp_nfds = ev->maxfds; ++ dopoll.dp_nfds = ev->maxfds - 1; + dopoll.dp_fds = ev->devpollfds; + + ret = ioctl(ev->devpoll_fd, DP_POLL, &dopoll); +diff -urNad lighttpd-1.4.13~/src/server.c lighttpd-1.4.13/src/server.c +--- lighttpd-1.4.13~/src/server.c 2008-02-25 16:33:40.000000000 +0100 ++++ lighttpd-1.4.13/src/server.c 2008-02-25 16:35:03.000000000 +0100 +@@ -670,9 +670,6 @@ + } + } + +- /* #372: solaris need some fds extra for devpoll */ +- if (rlim.rlim_cur > 10) rlim.rlim_cur -= 10; +- + if (srv->event_handler == FDEVENT_HANDLER_SELECT) { + srv->max_fds = rlim.rlim_cur < FD_SETSIZE - 200 ? rlim.rlim_cur : FD_SETSIZE - 200; + } else {