socks5-v1.0r9.patch4.txt
61e20e6f0a9aa945624ea5614b0e24f11dd178620f99b41a421a1c76f3bc8f83
Index: msg.c
===================================================================
RCS file: lib/msg.c,v
retrieving revision 1.30.2.1.2.4
retrieving revision 1.30.2.1.2.5
diff -c -r1.30.2.1.2.4 -r1.30.2.1.2.5
*** msg.c 1999/02/03 22:35:15 1.30.2.1.2.4
--- msg.c 1999/04/14 14:54:29 1.30.2.1.2.5
***************
*** 226,239 ****
return -1;
}
! do {
! if ((nw = S5BufWritePacket(fd, info, buf, wlen, flags)) > 0) break;
! if (ISSOCKETERROR(EINTR) && !(libflags & S5_IOFLAGS_RESTART)) break;
! if ((ISSOCKETERROR(EWOULDBLOCK) || ISSOCKETERROR(EAGAIN)) && !(libflags & S5_IOFLAGS_NBYTES)) break;
! nw = 0;
! } while (S5IOCheck(fd) >= 0);
!
! if (nw < 0) {
S5LogUpdate(S5LogDefaultHandle, S5_LOG_WARNING, 0, "S5IOSend: failed: %m");
return nw;
}
--- 226,234 ----
return -1;
}
! if ((nw = S5BufWritePacket(fd, info, buf, wlen, flags)) < 0) {
! if (ISSOCKETERROR(EINTR) && (libflags & S5_IOFLAGS_RESTART)) continue;
! if ((ISSOCKETERROR(EWOULDBLOCK) || ISSOCKETERROR(EAGAIN)) && (libflags & S5_IOFLAGS_NBYTES)) continue;
S5LogUpdate(S5LogDefaultHandle, S5_LOG_WARNING, 0, "S5IOSend: failed: %m");
return nw;
}
Index: buffer.c
===================================================================
RCS file: lib/buffer.c,v
retrieving revision 1.51.4.4
retrieving revision 1.51.4.5
diff -c -r1.51.4.4 -r1.51.4.5
*** buffer.c 1999/02/03 22:35:00 1.51.4.4
--- buffer.c 1999/04/14 14:54:06 1.51.4.5
***************
*** 79,89 ****
}
if ((n = SENDSOCKET(fd, buffer, m, ioflags)) < 0) {
! if (S5IOCheck(fd) >= 0) continue;
! else {
! SETSOCKETERROR(EBADF);
! return -1;
}
}
m -= n;
--- 79,89 ----
}
if ((n = SENDSOCKET(fd, buffer, m, ioflags)) < 0) {
! if (ISSOCKETERROR(EINTR)) continue;
! if (ISSOCKETERROR(EWOULDBLOCK) || ISSOCKETERROR(EAGAIN)) {
! if (m != buflen) continue;
}
+ return -1;
}
m -= n;