diff options
author | pst <pst@FreeBSD.org> | 1996-11-20 22:13:51 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1996-11-20 22:13:51 +0000 |
commit | f810ab1fbaa4a41f5588b0a61d232a8702b6be98 (patch) | |
tree | 028238abbbf75205f9fb93fad9f53fcd58d4cabe /libexec/ftpd | |
parent | bb2df41339a09a66dff8a74f026a8e19ca154eaf (diff) | |
download | FreeBSD-src-f810ab1fbaa4a41f5588b0a61d232a8702b6be98.zip FreeBSD-src-f810ab1fbaa4a41f5588b0a61d232a8702b6be98.tar.gz |
Conditionalize setsockopt IP_PORTRANGE to make ftpd portable.
Diffstat (limited to 'libexec/ftpd')
-rw-r--r-- | libexec/ftpd/ftpd.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index 2c698f3..e5d92a7 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ftpd.c,v 1.23 1996/08/09 22:22:30 julian Exp $ + * $Id: ftpd.c,v 1.25 1996/10/18 17:09:25 ache Exp $ */ #if 0 @@ -1687,7 +1687,7 @@ myoob(signo) void passive() { - int len, on; + int len; char *p, *a; if (pdata >= 0) /* close old port if one set */ @@ -1701,11 +1701,16 @@ passive() (void) seteuid((uid_t)0); - on = restricted_data_ports ? IP_PORTRANGE_HIGH : IP_PORTRANGE_DEFAULT; - if (setsockopt(pdata, IPPROTO_IP, IP_PORTRANGE, - (char *)&on, sizeof(on)) < 0) { - goto pasv_error; +#ifdef IP_PORTRANGE + { + int on = restricted_data_ports ? IP_PORTRANGE_HIGH + : IP_PORTRANGE_DEFAULT; + + if (setsockopt(pdata, IPPROTO_IP, IP_PORTRANGE, + (char *)&on, sizeof(on)) < 0) + goto pasv_error; } +#endif pasv_addr = ctrl_addr; pasv_addr.sin_port = 0; |