Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/netinet Apply patch (requested by mike):



details:   https://anonhg.NetBSD.org/src/rev/b161760ad8d9
branches:  netbsd-1-5
changeset: 491135:b161760ad8d9
user:      he <he%NetBSD.org@localhost>
date:      Thu Apr 05 12:53:33 2001 +0000

description:
Apply patch (requested by mike):
  Fix machine hangs with FTP from behind a NetBSD box configured
  to do NAT and FTP proxying.  Fixes PR#12443.

diffstat:

 sys/netinet/ip_ftp_pxy.c |  17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diffs (34 lines):

diff -r 19c87d1ea6e1 -r b161760ad8d9 sys/netinet/ip_ftp_pxy.c
--- a/sys/netinet/ip_ftp_pxy.c  Thu Apr 05 12:43:36 2001 +0000
+++ b/sys/netinet/ip_ftp_pxy.c  Thu Apr 05 12:53:33 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ip_ftp_pxy.c,v 1.16.4.1 2000/08/31 14:49:49 veego Exp $        */
+/*     $NetBSD: ip_ftp_pxy.c,v 1.16.4.2 2001/04/05 12:53:33 he Exp $   */
 
 /*
  * Simple FTP transparent proxy for in-kernel use.  For use with the NAT
@@ -672,15 +672,18 @@
                        while ((rptr < wptr) && (*rptr != '\r'))
                                rptr++;
 
-                       if ((*rptr == '\r') && (rptr + 1 < wptr)) {
-                               if (*(rptr + 1) == '\n') {
-                                       rptr += 2;
-                                       f->ftps_junk = 0;
+                       if (*rptr == '\r') {
+                               if (rptr + 1 < wptr) {
+                                       if (*(rptr + 1) == '\n') {
+                                               rptr += 2;
+                                               f->ftps_junk = 0;
+                                       } else
+                                               rptr++;
                                } else
-                                       rptr++;
+                                       break;
                        }
-                       f->ftps_rptr = rptr;
                }
+               f->ftps_rptr = rptr;
 
                if (rptr == wptr) {
                        rptr = wptr = f->ftps_buf;



Home | Main Index | Thread Index | Old Index