diff options
| author | Robert James Kaes <rjkaes@users.sourceforge.net> | 2004-08-10 21:24:24 +0000 | 
|---|---|---|
| committer | Robert James Kaes <rjkaes@users.sourceforge.net> | 2004-08-10 21:24:24 +0000 | 
| commit | badc7673d06257b720444c785efa3fbd3233f69e (patch) | |
| tree | de8c0078324299a9ca41188bf337e0cfc4adc526 | |
| parent | 18df4910a43e8f1b0d9d10df37236fabf0ba8508 (diff) | |
| download | tinyproxy-badc7673d06257b720444c785efa3fbd3233f69e.tar.gz tinyproxy-badc7673d06257b720444c785efa3fbd3233f69e.zip | |
Merged in changes from 1.6.3
Diffstat (limited to '')
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | src/child.c | 8 | ||||
| -rw-r--r-- | src/child.h | 4 | ||||
| -rw-r--r-- | src/conns.c | 4 | ||||
| -rw-r--r-- | src/conns.h | 7 | ||||
| -rw-r--r-- | src/daemon.c | 8 | ||||
| -rw-r--r-- | src/reqs.c | 11 | ||||
| -rw-r--r-- | src/tinyproxy.h | 8 | 
8 files changed, 36 insertions, 18 deletions
| @@ -1,3 +1,7 @@ +2004-08-10  Robert James Kaes  <rjkaes@users.sourceforge.net> + +	Merged in changes from 1.6.3. +	  2004-01-26  Robert James Kaes  <rjkaes@flarenet.com>  	Released tinyproxy 1.7.0 (2004-01-26) diff --git a/src/child.c b/src/child.c index 25f87fa..25e8eb9 100644 --- a/src/child.c +++ b/src/child.c @@ -1,4 +1,4 @@ -/* $Id: child.c,v 1.14 2004-02-13 21:27:42 rjkaes Exp $ +/* $Id: child.c,v 1.15 2004-08-10 21:24:23 rjkaes Exp $   *   * Handles the creation/destruction of the various children required for   * processing incoming connections. @@ -47,8 +47,8 @@ struct child_s {  static struct child_s *child_ptr;  static struct child_config_s { -	unsigned int maxclients, maxrequestsperchild; -	unsigned int maxspareservers, minspareservers, startservers; +	int maxclients, maxrequestsperchild; +	int maxspareservers, minspareservers, startservers;  } child_config;  static unsigned int* servers_waiting;	/* servers waiting for a connection */ @@ -129,7 +129,7 @@ _child_lock_release(void)   * Set the configuration values for the various child related settings.   */  short int -child_configure(child_config_t type, unsigned int val) +child_configure(child_config_t type, int val)  {  	switch (type) {  	case CHILD_MAXCLIENTS: diff --git a/src/child.h b/src/child.h index 2ae5b3d..eecf15e 100644 --- a/src/child.h +++ b/src/child.h @@ -1,4 +1,4 @@ -/* $Id: child.h,v 1.1 2002-05-26 18:45:26 rjkaes Exp $ +/* $Id: child.h,v 1.2 2004-08-10 21:24:23 rjkaes Exp $   *   * See 'child.c' for more information.   * @@ -32,6 +32,6 @@ extern void child_close_sock(void);  extern void child_main_loop(void);  extern void child_kill_children(void); -extern short int child_configure(child_config_t type, unsigned int val); +extern short int child_configure(child_config_t type, int val);  #endif diff --git a/src/conns.c b/src/conns.c index c94b245..6a20044 100644 --- a/src/conns.c +++ b/src/conns.c @@ -1,4 +1,4 @@ -/* $Id: conns.c,v 1.22 2004-04-27 18:53:14 rjkaes Exp $ +/* $Id: conns.c,v 1.23 2004-08-10 21:24:23 rjkaes Exp $   *   * Create and free the connection structure. One day there could be   * other connection related tasks put here, but for now the header @@ -76,6 +76,8 @@ initialize_conn(int client_fd, const char* ipaddr, const char* string_addr,  	connptr->client_ip_addr = safestrdup(ipaddr);  	connptr->client_string_addr = safestrdup(string_addr); +	connptr->upstream_proxy = NULL; +  	update_stats(STAT_OPEN);  #ifdef REVERSE_SUPPORT diff --git a/src/conns.h b/src/conns.h index 8b6f69e..d730737 100644 --- a/src/conns.h +++ b/src/conns.h @@ -1,4 +1,4 @@ -/* $Id: conns.h,v 1.17 2004-04-27 18:53:14 rjkaes Exp $ +/* $Id: conns.h,v 1.18 2004-08-10 21:24:23 rjkaes Exp $   *   * See 'conns.c' for a detailed description.   * @@ -78,6 +78,11 @@ struct conn_s {  	 */  	char* reversepath;  #endif + +        /* +         * Pointer to upstream proxy. +         */ +        struct upstream *upstream_proxy;  };  /* diff --git a/src/daemon.c b/src/daemon.c index 10bda1d..189b1dc 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -1,4 +1,4 @@ -/* $Id: daemon.c,v 1.2 2002-10-03 20:38:06 rjkaes Exp $ +/* $Id: daemon.c,v 1.3 2004-08-10 21:24:23 rjkaes Exp $   *   * This file contains functions which are useful when writing a   * daemon process.  The functions include a "makedaemon" function and @@ -40,7 +40,11 @@ makedaemon(void)  	chdir("/");  	umask(077); -#if 0 +#if NDEBUG +        /* +         * When not in debugging mode, close the standard file +         * descriptors. +         */  	close(0);  	close(1);  	close(2); @@ -1,4 +1,4 @@ -/* $Id: reqs.c,v 1.112 2004-04-27 18:53:14 rjkaes Exp $ +/* $Id: reqs.c,v 1.113 2004-08-10 21:24:23 rjkaes Exp $   *   * This is where all the work in tinyproxy is actually done. Incoming   * connections have a new child created for them. The child then @@ -1223,7 +1223,7 @@ process_client_headers(struct conn_s *connptr, hashmap_t hashofheaders)  	 * proxy is in use.)  	 */  	if (connptr->server_fd == -1 || connptr->show_stats -	    || (connptr->connect_method && !UPSTREAM_CONFIGURED())) { +	    || (connptr->connect_method && (connptr->upstream_proxy == NULL))) {  		log_message(LOG_INFO, "Not sending client headers to remote machine");  		return 0;  	} @@ -1600,7 +1600,7 @@ connect_to_upstream(struct conn_s *connptr, struct request_s *request)  	char *combined_string;  	int len; -	struct upstream *cur_upstream = upstream_get(request->host); +	struct upstream *cur_upstream = connptr->upstream_proxy;  	if(!cur_upstream) {  		log_message(LOG_WARNING,  			    "No upstream proxy defined for %s.", @@ -1751,7 +1751,8 @@ handle_connection(int fd)  		goto send_error;  	} -	if (UPSTREAM_CONFIGURED() && (UPSTREAM_HOST(request->host) != NULL)) { +	connptr->upstream_proxy = UPSTREAM_HOST(request->host); +	if (connptr->upstream_proxy != NULL) {  		if (connect_to_upstream(connptr, request) < 0) {  			goto send_error;  		} @@ -1797,7 +1798,7 @@ handle_connection(int fd)  		return;  	} -	if (!connptr->connect_method || UPSTREAM_CONFIGURED()) { +	if (!connptr->connect_method || (connptr->upstream_proxy != NULL)) {  		if (process_server_headers(connptr) < 0) {  			if (connptr->error_variables)  				send_http_error_message(connptr); diff --git a/src/tinyproxy.h b/src/tinyproxy.h index 256b9e7..0ede12c 100644 --- a/src/tinyproxy.h +++ b/src/tinyproxy.h @@ -1,4 +1,4 @@ -/* $Id: tinyproxy.h,v 1.44 2004-04-27 18:53:14 rjkaes Exp $ +/* $Id: tinyproxy.h,v 1.45 2004-08-10 21:24:23 rjkaes Exp $   *   * See 'tinyproxy.c' for a detailed description.   * @@ -26,7 +26,10 @@  #define MAXBUFFSIZE	((size_t)(1024 * 96))	/* Max size of buffer */  #define MAX_IDLE_TIME 	(60 * 10)	/* 10 minutes of no activity */ -#ifdef UPSTREAM_SUPPORT +/* + * Even if upstream support is not compiled into tinyproxy, this + * structure still needs to be defined. + */  struct upstream {  	struct upstream *next;  	char *domain; /* optional */ @@ -34,7 +37,6 @@ struct upstream {  	int port;  	in_addr_t ip, mask;  }; -#endif  #ifdef REVERSE_SUPPORT  struct reversepath { | 
