diff options
author | mlaier <mlaier@FreeBSD.org> | 2005-05-03 16:47:37 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2005-05-03 16:47:37 +0000 |
commit | f9e60af5004dc157f222b733768010aa3d2e98d7 (patch) | |
tree | 824c4eb19d53458f61e487fc41248e092826de6d /contrib/pf/ftp-proxy | |
parent | b14e72073db609ec0fb89897afe16fc5a15d3290 (diff) | |
parent | 511d1c13c361b4534ed4c6f973fd891d95055cab (diff) | |
download | FreeBSD-src-f9e60af5004dc157f222b733768010aa3d2e98d7.zip FreeBSD-src-f9e60af5004dc157f222b733768010aa3d2e98d7.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r145837,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/pf/ftp-proxy')
-rw-r--r-- | contrib/pf/ftp-proxy/getline.c | 8 | ||||
-rw-r--r-- | contrib/pf/ftp-proxy/util.c | 17 | ||||
-rw-r--r-- | contrib/pf/ftp-proxy/util.h | 6 |
3 files changed, 18 insertions, 13 deletions
diff --git a/contrib/pf/ftp-proxy/getline.c b/contrib/pf/ftp-proxy/getline.c index 2be3883..97ffd48 100644 --- a/contrib/pf/ftp-proxy/getline.c +++ b/contrib/pf/ftp-proxy/getline.c @@ -1,4 +1,4 @@ -/* $OpenBSD: getline.c,v 1.15 2003/06/28 01:04:57 deraadt Exp $ */ +/* $OpenBSD: getline.c,v 1.16 2004/09/16 04:50:51 deraadt Exp $ */ /* * Copyright (c) 1985, 1988 Regents of the University of California. @@ -96,7 +96,7 @@ refill_buffer(struct csiob *iobp) /* don't do tiny reads, grow first if we need to */ rqlen = iobp->io_buffer_size - iobp->io_buffer_len; if (rqlen <= 128) { - char *tmp; + unsigned char *tmp; iobp->io_buffer_size += 128; tmp = realloc(iobp->io_buffer, iobp->io_buffer_size); @@ -152,7 +152,7 @@ telnet_getline(struct csiob *iobp, struct csiob *telnet_passthrough) { unsigned char ch; int ix; - char tbuf[100]; + unsigned char tbuf[100]; iobp->line_buffer[0] = '\0'; @@ -236,7 +236,7 @@ telnet_getline(struct csiob *iobp, struct csiob *telnet_passthrough) * nasty. */ if (ix - iobp->next_byte > iobp->line_buffer_size - 5) { - char *tmp; + unsigned char *tmp; iobp->line_buffer_size = 256 + ix - iobp->next_byte; tmp = realloc(iobp->line_buffer, diff --git a/contrib/pf/ftp-proxy/util.c b/contrib/pf/ftp-proxy/util.c index 17a88ca..61c9f1f 100644 --- a/contrib/pf/ftp-proxy/util.c +++ b/contrib/pf/ftp-proxy/util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: util.c,v 1.18 2004/01/22 16:10:30 beck Exp $ */ +/* $OpenBSD: util.c,v 1.19 2004/07/06 19:49:11 dhartmei Exp $ */ /* * Copyright (c) 1996-2001 @@ -56,6 +56,8 @@ #include "util.h" +extern int ReverseMode; + int Debug_Level; int Use_Rdns; in_addr_t Bind_Addr = INADDR_NONE; @@ -75,14 +77,14 @@ debuglog(int debug_level, const char *fmt, ...) int get_proxy_env(int connected_fd, struct sockaddr_in *real_server_sa_ptr, - struct sockaddr_in *client_sa_ptr) + struct sockaddr_in *client_sa_ptr, struct sockaddr_in *proxy_sa_ptr) { struct pfioc_natlook natlook; socklen_t slen; int fd; - slen = sizeof(*real_server_sa_ptr); - if (getsockname(connected_fd, (struct sockaddr *)real_server_sa_ptr, + slen = sizeof(*proxy_sa_ptr); + if (getsockname(connected_fd, (struct sockaddr *)proxy_sa_ptr, &slen) != 0) { syslog(LOG_ERR, "getsockname() failed (%m)"); return(-1); @@ -94,6 +96,9 @@ get_proxy_env(int connected_fd, struct sockaddr_in *real_server_sa_ptr, return(-1); } + if (ReverseMode) + return(0); + /* * Build up the pf natlook structure. * Just for IPv4 right now @@ -101,10 +106,10 @@ get_proxy_env(int connected_fd, struct sockaddr_in *real_server_sa_ptr, memset((void *)&natlook, 0, sizeof(natlook)); natlook.af = AF_INET; natlook.saddr.addr32[0] = client_sa_ptr->sin_addr.s_addr; - natlook.daddr.addr32[0] = real_server_sa_ptr->sin_addr.s_addr; + natlook.daddr.addr32[0] = proxy_sa_ptr->sin_addr.s_addr; natlook.proto = IPPROTO_TCP; natlook.sport = client_sa_ptr->sin_port; - natlook.dport = real_server_sa_ptr->sin_port; + natlook.dport = proxy_sa_ptr->sin_port; natlook.direction = PF_OUT; /* diff --git a/contrib/pf/ftp-proxy/util.h b/contrib/pf/ftp-proxy/util.h index 597cd18..ce1e915 100644 --- a/contrib/pf/ftp-proxy/util.h +++ b/contrib/pf/ftp-proxy/util.h @@ -1,4 +1,4 @@ -/* $OpenBSD: util.h,v 1.3 2002/05/23 10:22:14 deraadt Exp $ */ +/* $OpenBSD: util.h,v 1.5 2005/02/24 15:49:08 dhartmei Exp $ */ /* * Copyright (c) 1996-2001 @@ -46,7 +46,7 @@ struct csiob { int line_buffer_size, io_buffer_size, io_buffer_len, next_byte; unsigned char *io_buffer, *line_buffer; struct sockaddr_in sa, real_sa; - char *who; + const char *who; char alive, got_eof, data_available; int send_oob_flags; }; @@ -55,7 +55,7 @@ extern int telnet_getline(struct csiob *iobp, struct csiob *telnet_passthrough); extern int get_proxy_env(int fd, struct sockaddr_in *server_sa_ptr, - struct sockaddr_in *client_sa_ptr); + struct sockaddr_in *client_sa_ptr, struct sockaddr_in *proxy_sa_ptr); extern int get_backchannel_socket(int type, int min_port, int max_port, int start_port, int direction, struct sockaddr_in *sap); |