[syslog-ng][PATCH] syslog-ng-1.6.5+20041206 fixes missing facility/priority in afinet.c

Roberto Nibali syslog-ng@lists.balabit.hu
Mon, 13 Dec 2004 09:44:06 +0100


Hi Bazsi,

>>I'm under the distinct impression that something like that has already been 
>>addressed in the past. Maybe it was a copy'n'paste error or so ...
> 
> it was removed by intent, as that code path is processed when template()
> is specified by the user. if you want to include the pri/level then you
> need to add it into your template:
> 
> destination d_udp { udp("1.2.3.4" template("<$TAG>$DATE $HOST $MSG\n");
> };

Colour me stupid but this does not provide me with the same functionality. If I 
provide the prio/level (it's translated into hex, when you read the tcpdump 
output; which I don't recall being valid by the specs) the code fails in log.c:

Jan  1 00:00:00 unparseable log message: \"<4e>Dec 13 07:05:01 [snip]\"

This is the code snippet that gets hit:

     if (left && src[0] == '<') {
         src++;
         left--;
         pri = 0;
         while (left && *src != '>') {
             if (isdigit(*src)) {
                 ^^^^^^^
     my tcpdump shows me 4e for my prio/level combo I send

                 pri = pri * 10 + ((*src) - '0');
             }
             else {
                 lm->msg = c_format_cstring("unparseable log message: \"%s\"", 
length, data);
                 lm->pri = LOG_SYSLOG | LOG_ERR;
                 return;
             }
             src++;
             left--;
         }
         lm->pri = pri;
         if (left) {
             src++;
             left--;
         }

Please consider applying the patch, or tell me what I'm missing. I'll patch my 
local copy of syslog-ng because I'm honestly unable to configure it they way you 
think it should be working. Thanks and best regards,

Roberto Nibali, ratz
-- 
-------------------------------------------------------------
addr://Rathausgasse 31, CH-5001 Aarau  tel://++41 62 823 9355
http://www.terreactive.com             fax://++41 62 823 9356
-------------------------------------------------------------
terreActive AG                       Wir sichern Ihren Erfolg
-------------------------------------------------------------