summaryrefslogtreecommitdiffstats
path: root/contrib/pf/ftp-proxy
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2005-05-03 16:47:37 +0000
committermlaier <mlaier@FreeBSD.org>2005-05-03 16:47:37 +0000
commitf9e60af5004dc157f222b733768010aa3d2e98d7 (patch)
tree824c4eb19d53458f61e487fc41248e092826de6d /contrib/pf/ftp-proxy
parentb14e72073db609ec0fb89897afe16fc5a15d3290 (diff)
parent511d1c13c361b4534ed4c6f973fd891d95055cab (diff)
downloadFreeBSD-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.c8
-rw-r--r--contrib/pf/ftp-proxy/util.c17
-rw-r--r--contrib/pf/ftp-proxy/util.h6
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);
OpenPOWER on IntegriCloud