Changeset 326


Ignore:
Timestamp:
Apr 6, 2011, 2:31:24 PM (14 years ago)
Author:
katerina
Message:

Fix for ticket #246: Add method to specify user-defined regex in APACHE log format

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/docs/Changelog

    r323 r326  
     12.8.4:
     2        * Fix potential timeout problem in sh_sub_stat_int() and propagate the
     3          error (issue reported by mtg)
     4        * Add support for X-Forwarded-For in apache logfile parser, add
     5          option 'RE{regex}' to insert arbitrary regex
     6
    172.8.3a:
    28        * Fix two 'label at end of compound statement' errors on FreeBSD
  • trunk/src/sh_log_parse_apache.c

    r276 r326  
    152152        {
    153153          if(strcmp(token, "%r") == 0 ||
    154              strstr(token, _("{Referer}")) == 0 ||
    155              strstr(token, _("{User-Agent}")) == 0)
     154             strstr(token, _("{Referer}")) != NULL ||
     155             strstr(token, _("{User-Agent}")) != NULL ||
     156             strstr(token, _("{X-Forwarded-For}")) != NULL )
    156157            {
    157158              /*
     
    175176            }
    176177        }
     178      else if (token[0] == 'R' && token[1] == 'E' && token[2] == '{' && token[strlen(token)-1] == '}')
     179        {
     180          char * lb =  strchr(token, '{');
     181          char * rb = strrchr(token, '}');
     182
     183          if (lb && rb)
     184            {
     185              ++lb; *rb = '\0';
     186              sh_string_add_from_char(re_string, lb);
     187            }
     188        }
    177189      else if (token[0] == '%' && token[strlen(token)-1] == 't')
    178190        {
Note: See TracChangeset for help on using the changeset viewer.