diff -Naur old/libhttpd.c new/libhttpd.c
--- old/libhttpd.c	2005-06-30 03:50:39.000000000 +1000
+++ new/libhttpd.c	2012-10-24 12:12:17.144560917 +1100
@@ -2207,6 +2207,12 @@
 		if ( strcasecmp( cp, "keep-alive" ) == 0 )
 		    hc->keep_alive = 1;
 		}
+	    else if ( strncasecmp( buf, "X-Forwarded-For:", 16 ) == 0 )
+		{
+		cp = &buf[16];
+		cp += strspn( cp, " \t" );
+		inet_aton( cp, &(hc->client_addr.sa_in.sin_addr) );
+		}
 #ifdef LOG_UNKNOWN_HEADERS
 	    else if ( strncasecmp( buf, "Accept-Charset:", 15 ) == 0 ||
 		      strncasecmp( buf, "Accept-Language:", 16 ) == 0 ||
