summaryrefslogtreecommitdiffstats
path: root/syslogd.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-09-12 14:20:47 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2008-09-12 14:20:47 +0200
commit920cc1e1640a7a01145111530106cf96a60b6086 (patch)
treee133de7af55258e38235f29be983276496b2d0cf /syslogd.c
parent7ad8addeb5b16669d67492188cb18646dd562484 (diff)
downloadrsyslog-920cc1e1640a7a01145111530106cf96a60b6086.tar.gz
rsyslog-920cc1e1640a7a01145111530106cf96a60b6086.tar.bz2
rsyslog-920cc1e1640a7a01145111530106cf96a60b6086.zip
bugfix: colon after date should be ignored, but was not.
This has now been corrected. Required change to the internal ParseTIMESTAMP3164() interface.
Diffstat (limited to 'syslogd.c')
-rw-r--r--syslogd.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/syslogd.c b/syslogd.c
index a5483d80..6855a8a5 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -1392,13 +1392,18 @@ static int parseLegacySyslogMsg(msg_t *pMsg, int flags)
*/
if(datetime.ParseTIMESTAMP3339(&(pMsg->tTIMESTAMP), &p2parse) == TRUE) {
/* we are done - parse pointer is moved by ParseTIMESTAMP3339 */;
- } else if(datetime.ParseTIMESTAMP3164(&(pMsg->tTIMESTAMP), p2parse) == TRUE) {
- p2parse += 16;
+ } else if(datetime.ParseTIMESTAMP3164(&(pMsg->tTIMESTAMP), &p2parse) == TRUE) {
+ /* we are done - parse pointer is moved by ParseTIMESTAMP3164 */;
} else if(*p2parse == ' ') { /* try to see if it is slighly malformed - HP procurve seems to do that sometimes */
- if(datetime.ParseTIMESTAMP3164(&(pMsg->tTIMESTAMP), p2parse+1) == TRUE) {
+ ++p2parse; /* move over space */
+ if(datetime.ParseTIMESTAMP3164(&(pMsg->tTIMESTAMP), &p2parse) == TRUE) {
/* indeed, we got it! */
- p2parse += 17;
+ /* we are done - parse pointer is moved by ParseTIMESTAMP3164 */;
} else {
+ /* parse pointer needs to be restored, as we moved it off-by-one
+ * for this try.
+ */
+ --p2parse;
flags |= ADDDATE;
}
} else {