Index: trunk/src/sh_log_parse_apache.c
===================================================================
--- trunk/src/sh_log_parse_apache.c	(revision 325)
+++ trunk/src/sh_log_parse_apache.c	(revision 326)
@@ -152,6 +152,7 @@
 	{
 	  if(strcmp(token, "%r") == 0 || 
-	     strstr(token, _("{Referer}")) == 0 || 
-             strstr(token, _("{User-Agent}")) == 0)
+	     strstr(token, _("{Referer}")) != NULL || 
+             strstr(token, _("{User-Agent}")) != NULL ||
+	     strstr(token, _("{X-Forwarded-For}")) != NULL )
 	    {
 	      /*
@@ -175,4 +176,15 @@
 	    }
 	}
+      else if (token[0] == 'R' && token[1] == 'E' && token[2] == '{' && token[strlen(token)-1] == '}') 
+	{
+	  char * lb =  strchr(token, '{');
+	  char * rb = strrchr(token, '}');
+
+	  if (lb && rb)
+	    {
+	      ++lb; *rb = '\0';
+	      sh_string_add_from_char(re_string, lb);
+	    }
+	}
       else if (token[0] == '%' && token[strlen(token)-1] == 't') 
 	{
