summaryrefslogtreecommitdiff
path: root/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch')
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch90
1 files changed, 0 insertions, 90 deletions
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
deleted file mode 100644
index 6fc9de80287e..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Bug #510320
---- a/saslauthd/auth_rimap.c
-+++ b/saslauthd/auth_rimap.c
-@@ -371,7 +371,7 @@
- if ( rc>0 ) {
- /* check if there is more to read */
- fd_set perm;
-- int fds, ret;
-+ int fds, ret, loopc;
- struct timeval timeout;
-
- FD_ZERO(&perm);
-@@ -380,6 +380,7 @@
-
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-+ loopc = 0;
- while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
- if ( FD_ISSET(s, &perm) ) {
- ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
-@@ -387,6 +388,14 @@
- rc = ret;
- break;
- } else {
-+ if (ret == 0) {
-+ loopc += 1;
-+ } else {
-+ loopc = 0;
-+ }
-+ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
-+ break;
-+ }
- rc += ret;
- }
- }
-@@ -484,7 +493,7 @@
- if ( rc>0 ) {
- /* check if there is more to read */
- fd_set perm;
-- int fds, ret;
-+ int fds, ret, loopc;
- struct timeval timeout;
-
- FD_ZERO(&perm);
-@@ -493,6 +502,7 @@
-
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-+ loopc = 0;
- while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
- if ( FD_ISSET(s, &perm) ) {
- ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
-@@ -500,6 +510,14 @@
- rc = ret;
- break;
- } else {
-+ if (ret == 0) {
-+ loopc += 1;
-+ } else {
-+ loopc = 0;
-+ }
-+ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
-+ break;
-+ }
- rc += ret;
- }
- }
---- a/lib/checkpw.c
-+++ b/lib/checkpw.c
-@@ -587,16 +587,14 @@
- /* Timeout. */
- errno = ETIMEDOUT;
- return -1;
-- case +1:
-- if (FD_ISSET(fd, &rfds)) {
-- /* Success, file descriptor is readable. */
-- return 0;
-- }
-- return -1;
- case -1:
- if (errno == EINTR || errno == EAGAIN)
- continue;
- default:
-+ if (FD_ISSET(fd, &rfds)) {
-+ /* Success, file descriptor is readable. */
-+ return 0;
-+ }
- /* Error catch-all. */
- return -1;
- }