Re: 18 months later: Tux and HTTP request forwarding

victor <[email protected]>
Newsgroups gmane.network.tux
Message-ID <[email protected]>
looks like I have a busy week ahead installing Tux. (^_^)

This is wonderful Mr Molnar, thank you very much. 

I'm wondering, would there any chance this change will be added to the 
standard release?

Tor.



Ingo Molnar wrote:

>On Tue, 28 Oct 2003, Charles Bennington wrote:
>
>  
>
>>I have been looking for a way to have tux always handle requests for
>>URLs with a question mark in them, but also discard the text including
>>and following the question mark.  For example:
>>
>>http://site/path/file?args ==> http://site/path/file
>>
>>This is in an attempt to serve files that are static by design by have a
>>random argument appended to the end to defeat browser caching. [...]
>>    
>>
>
>could you apply the attached patch and do:
>
>	echo 1 > /proc/sys/net/tux/ignore_query
>
>does this do the trick?
>
>	Ingo
>
>--- linux/include/linux/sysctl.h.orig	
>+++ linux/include/linux/sysctl.h	
>@@ -562,6 +562,7 @@ enum {
> 	NET_TUX_MAX_HEADER_LEN		= 42,
> 	NET_TUX_404_PAGE		= 43,
> 	NET_TUX_MAX_KEEPALIVES		= 44,
>+	NET_TUX_IGNORE_QUERY		= 45,
> };
> 
> /* /proc/sys/net/khttpd/ */
>--- linux/include/net/tux.h.orig	
>+++ linux/include/net/tux.h	
>@@ -715,6 +715,7 @@ extern unsigned int tux_cgi_cpu_mask;
> extern tux_proto_t tux_proto_http;
> extern tux_proto_t tux_proto_ftp;
> extern unsigned int tux_all_userspace;
>+extern unsigned int tux_ignore_query;
> extern unsigned int tux_redirect_logging;
> extern unsigned int tux_referer_logging;
> extern unsigned int tux_log_incomplete;
>--- linux/net/tux/proc.c.orig	
>+++ linux/net/tux/proc.c	
>@@ -60,6 +60,7 @@ unsigned int tux_cgi_inherit_cpu = 0;
> unsigned int tux_cgi_cpu_mask = ~0;
> unsigned int tux_zerocopy_header = 1;
> unsigned int tux_max_free_requests = 1000;
>+unsigned int tux_ignore_query = 0;
> unsigned int tux_all_userspace = 0;
> unsigned int tux_redirect_logging = 1;
> unsigned int tux_max_header_len = 3000;
>@@ -693,6 +694,18 @@ static ctl_table tux_table[] = {
> 		NULL,
> 		NULL
> 	},
>+	{	NET_TUX_IGNORE_QUERY,
>+		"ignore_query",
>+		&tux_ignore_query,
>+		sizeof(int),
>+		0644,
>+		NULL,
>+		proc_dointvec,
>+		&sysctl_intvec,
>+		NULL,
>+		NULL,
>+		NULL
>+	},
> 	{	NET_TUX_REFERER_LOGGING,
> 		"referer_logging",
> 		&tux_referer_logging,
>--- linux/net/tux/proto_http.c.orig	
>+++ linux/net/tux/proto_http.c	
>@@ -319,8 +319,13 @@ continue_parsing:
> 			if (c == '#')
> 				GOTO_REDIR;
> 		}
>-		query_len = curr-query-1;
>-		req->query_len = query_len;
>+
>+		if (unlikely(tux_ignore_query))
>+			req->query_str = NULL;
>+		else {
>+			query_len = curr-query-1;
>+			req->query_len = query_len;
>+		}
> 	}
> 	if (req->query_len)
> 		Dprintk("got query string %s (%d)\n", req->query_str, req->query_len);
>
>
>_______________________________________________
>tux-list mailing list
>[email protected]
>https://www.redhat.com/mailman/listinfo/tux-list
>
>  
>


-- 
<!---------------------------------------------
                           Victor
                           Development Engineer
                           Outblaze Ltd
---------------------------------------------->
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.