ThttpdRealIP

By default, thttpd doesn't respect (or pass on) the X-Forwarded-For header. This patch puts X-Forwarded-For into Remote-Addr.

Save this file as [ thttpd.patch]  --- thttpd-2.25b/libhttpd.c	2003-12-25 20:06:05.000000000 +0100 +++ thttpd-2.25b-patched/libhttpd.c	2005-01-09 00:26:04.867255248 +0100 @@ -2207,6 +2207,12 @@ 		if ( strcasecmp( cp, "keep-alive" ) == 0 ) hc->keep_alive = 1; } +	   else if ( strncasecmp( buf, "X-Forwarded-For:", 16 ) == 0 ) +		{ // Use real IP if available +		cp = &buf[16]; +		cp += strspn( cp, " \t" ); +		inet_aton( cp, &(hc->client_addr.sa_in.sin_addr) ); +	       } 	    else if ( strncasecmp( buf, "Accept-Charset:", 15 ) == 0 || 		      strncasecmp( buf, "Accept-Language:", 16 ) == 0 ||
 * 1) ifdef LOG_UNKNOWN_HEADERS

This patch was originally from Daniel Clemente.