You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Jeremy Laidman <Je...@cit.act.edu.au> on 1997/02/03 01:30:01 UTC

mod_proxy/149: Unable to set DEBUG option on FTP socket

	The contract type is `' with a response time of 3 business hours.
	A first analysis should be sent before: Mon Feb 03 11:00:00 PST 1997


>Number:         149
>Category:       mod_proxy
>Synopsis:       Unable to set DEBUG option on FTP socket
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sun Feb  2 16:30:00 1997
>Originator:     Jeremy.Laidman@cit.act.edu.au
>Organization:
apache
>Release:        1.2b4
>Environment:
Linux 2.0.14
>Description:
When an FTP connection is attempted using the proxy module, the error
"proxy:error setting PASV debug option" appears in the log and the connection
fails.
>How-To-Repeat:
FTP to any site.
>Fix:
It seems that the Linux kernel requires ROOT permission to set the DEBUG
option on a socket.  It also seems that the DEBUG option is not actually
required on the FTP socket.  The code that sets the DEBUG option can be
removed without apparent effect to the remaining code.  My patch is to
insert #ifndef LINUX/#endif around the code in modules/proxy/proxy_ftp.c
thusly:

#ifndef LINUX
    if (setsockopt(dsock, SOL_SOCKET, SO_DEBUG, (const char *)&one,
      sizeof (int)) == -1)
    {
        proxy_log_uerror("setsockopt", NULL,
            "proxy: error setting PASV debug option", r->server);
        pclosef(pool, dsock);
        pclosef(pool, sock);
        return SERVER_ERROR;
    }
#endif
%0
>Audit-Trail:
>Unformatted: