View | Details | Raw Unified | Return to bug 54253
Collapse All | Expand All

(-)file_not_specified_in_diff (-1 / +33 lines)
Line  Link Here
0
-- modules/proxy/mod_proxy_ftp.c.orig  2012-12-05 07:22:05.000000000 -0600
0
++ modules/proxy/mod_proxy_ftp.c.bugfixchanges 2012-12-05 12:41:21.000000000 -0600
Lines 1909-1914 Link Here
1909
    rc = proxy_ftp_command(NULL, r, origin, bb, &ftpmessage);
1909
    rc = proxy_ftp_command(NULL, r, origin, bb, &ftpmessage);
1910
    apr_brigade_cleanup(bb);
1910
    apr_brigade_cleanup(bb);
1911
1911
1912
    /* -----------------------------------------------------------------
1913
    * Need to deal with '426' from FTP:
1914
    *
1915
    * responses: 426
1916
    *
1917
    * 426 Failure writing network stream
1918
    *
1919
    * Use case:  Seems to happen when a user cancels a download proxied
1920
    * through an FTP server with mod_proxy.  I think the initial problem
1921
    * occurs up above at line 1630 where the HTTP retval gets set to
1922
    * 'HTTP_OK' (200 OK) automatically and IMHO shouldn't log a '200' in
1923
    * the access_log as so. 
1924
    *
1925
    * This is the last where the last and final response from the FTP
1926
    * server gets handled, so we should do something with it and at least
1927
    * log it properly.
1928
    *
1929
    * '499' HTTP_CLIENT_CLOSED_REQUEST is an Nginx HTTP1/1 retval, not
1930
    * specifically outlined in the RFC 2616.  I thought it was applicable
1931
    * and did add it to include/httpd.conf
1932
    *
1933
    * Adam Dosch - 12/5/2012
1934
    *
1935
    */
1936
1937
    if (rc == 426 ) {
1938
        r->status = HTTP_CLIENT_CLOSED_REQUEST;
1939
        r->status_line = "499";
1940
    }
1941
1942
    /* ----------------------------------------------------------------- */
1943
1912
    /*
1944
    /*
1913
     * VII: Clean Up -------------
1945
     * VII: Clean Up -------------
1914
     *
1946
     *

Return to bug 54253