diff options
author | Timo Gurr <tgurr@gentoo.org> | 2009-11-30 22:00:56 +0000 |
---|---|---|
committer | Timo Gurr <tgurr@gentoo.org> | 2009-11-30 22:00:56 +0000 |
commit | c1a1fad2ab3e62a6d75b6a812a60260ba2a29cff (patch) | |
tree | d49e2a97281edb02bff8ee8998626f49192e7b0a /net-print/cups/files | |
parent | version bump (diff) | |
download | gentoo-2-c1a1fad2ab3e62a6d75b6a812a60260ba2a29cff.tar.gz gentoo-2-c1a1fad2ab3e62a6d75b6a812a60260ba2a29cff.tar.bz2 gentoo-2-c1a1fad2ab3e62a6d75b6a812a60260ba2a29cff.zip |
Revbumps fixing security issue CVE-2009-3553. Fix linguas handling bug #293217 thanks to Rafał Mużyło, remove zeroconf of cups 1.4 since it's missing an avahi implementation, bug #293295. Remove old.
(Portage version: 2.2_rc54/cvs/Linux x86_64)
Diffstat (limited to 'net-print/cups/files')
-rw-r--r-- | net-print/cups/files/cups-1.3.11-str3200.patch | 39 | ||||
-rw-r--r-- | net-print/cups/files/cups-1.4.2-str3200.patch | 43 |
2 files changed, 82 insertions, 0 deletions
diff --git a/net-print/cups/files/cups-1.3.11-str3200.patch b/net-print/cups/files/cups-1.3.11-str3200.patch new file mode 100644 index 000000000000..84cdbd26299f --- /dev/null +++ b/net-print/cups/files/cups-1.3.11-str3200.patch @@ -0,0 +1,39 @@ +diff -up cups-1.3.7/scheduler/select.c.CVE-2009-3553 cups-1.3.7/scheduler/select.c +--- cups-1.3.7/scheduler/select.c.CVE-2009-3553 2007-11-30 19:29:50.000000000 +0000 ++++ cups-1.3.7/scheduler/select.c 2009-11-11 16:36:07.223893886 +0000 +@@ -477,7 +477,7 @@ cupsdDoSelect(long timeout) /* I - Time + (*(fdptr->read_cb))(fdptr->data); + } + +- if (fdptr->write_cb && event->filter == EVFILT_WRITE) ++ if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE) + { + cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", + fdptr->fd); +@@ -537,7 +537,7 @@ cupsdDoSelect(long timeout) /* I - Time + (*(fdptr->read_cb))(fdptr->data); + } + +- if (fdptr->write_cb && (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) ++ if (fdptr->use > 1 && fdptr->write_cb && (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) + { + cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", + fdptr->fd); +@@ -649,7 +649,7 @@ cupsdDoSelect(long timeout) /* I - Time + (*(fdptr->read_cb))(fdptr->data); + } + +- if (fdptr->write_cb && (pfd->revents & (POLLOUT | POLLERR | POLLHUP))) ++ if (fdptr->use > 1 && fdptr->write_cb && (pfd->revents & (POLLOUT | POLLERR | POLLHUP))) + { + cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", + fdptr->fd); +@@ -719,7 +719,7 @@ cupsdDoSelect(long timeout) /* I - Time + (*(fdptr->read_cb))(fdptr->data); + } + +- if (fdptr->write_cb && FD_ISSET(fdptr->fd, &cupsd_current_output)) ++ if (fdptr->use > 1 && fdptr->write_cb && FD_ISSET(fdptr->fd, &cupsd_current_output)) + { + cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", + fdptr->fd); diff --git a/net-print/cups/files/cups-1.4.2-str3200.patch b/net-print/cups/files/cups-1.4.2-str3200.patch new file mode 100644 index 000000000000..47d9114ed131 --- /dev/null +++ b/net-print/cups/files/cups-1.4.2-str3200.patch @@ -0,0 +1,43 @@ +Index: scheduler/select.c +=================================================================== +--- scheduler/select.c (revision 8887) ++++ scheduler/select.c (working copy) +@@ -454,7 +454,7 @@ + if (fdptr->read_cb && event->filter == EVFILT_READ) + (*(fdptr->read_cb))(fdptr->data); + +- if (fdptr->write_cb && event->filter == EVFILT_WRITE) ++ if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); +@@ -499,7 +499,8 @@ + if (fdptr->read_cb && (event->events & (EPOLLIN | EPOLLERR | EPOLLHUP))) + (*(fdptr->read_cb))(fdptr->data); + +- if (fdptr->write_cb && (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) ++ if (fdptr->use > 1 && fdptr->write_cb && ++ (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); +@@ -590,7 +591,8 @@ + if (fdptr->read_cb && (pfd->revents & (POLLIN | POLLERR | POLLHUP))) + (*(fdptr->read_cb))(fdptr->data); + +- if (fdptr->write_cb && (pfd->revents & (POLLOUT | POLLERR | POLLHUP))) ++ if (fdptr->use > 1 && fdptr->write_cb && ++ (pfd->revents & (POLLOUT | POLLERR | POLLHUP))) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); +@@ -645,7 +647,8 @@ + if (fdptr->read_cb && FD_ISSET(fdptr->fd, &cupsd_current_input)) + (*(fdptr->read_cb))(fdptr->data); + +- if (fdptr->write_cb && FD_ISSET(fdptr->fd, &cupsd_current_output)) ++ if (fdptr->use > 1 && fdptr->write_cb && ++ FD_ISSET(fdptr->fd, &cupsd_current_output)) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); |