Author: bz
Date: Mon Jul 25 15:14:03 2011
New Revision: 224326
URL: http://svn.freebsd.org/changeset/base/224326

Log:
  Flush output buffers before closing TCP session.  Fixes the case where
  the proxy would eat the 221 response coming from the server towards the
  client.
  
  This is a commit as HEAD got the change with the entire pf45 import.
  
  PR:           bin/154469
  Obtained from:        OpenBSD r1.18
  MFC after:    2 weeks

Modified:
  stable/8/contrib/pf/ftp-proxy/ftp-proxy.c

Modified: stable/8/contrib/pf/ftp-proxy/ftp-proxy.c
==============================================================================
--- stable/8/contrib/pf/ftp-proxy/ftp-proxy.c   Mon Jul 25 15:10:53 2011        
(r224325)
+++ stable/8/contrib/pf/ftp-proxy/ftp-proxy.c   Mon Jul 25 15:14:03 2011        
(r224326)
@@ -273,6 +273,12 @@ end_session(struct session *s)
 
        logmsg(LOG_INFO, "#%d ending session", s->id);
 
+       /* Flush output buffers. */
+       if (s->client_bufev && s->client_fd != -1)
+               evbuffer_write(s->client_bufev->output, s->client_fd);
+       if (s->server_bufev && s->server_fd != -1)
+               evbuffer_write(s->server_bufev->output, s->server_fd);
+
        if (s->client_fd != -1)
                close(s->client_fd);
        if (s->server_fd != -1)
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to