Hello community, here is the log from the commit of package liblognorm for openSUSE:Factory checked in at 2016-03-16 10:35:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/liblognorm (Old) and /work/SRC/openSUSE:Factory/.liblognorm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liblognorm" Changes: -------- --- /work/SRC/openSUSE:Factory/liblognorm/liblognorm.changes 2015-07-23 15:23:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.liblognorm.new/liblognorm.changes 2016-03-16 10:36:07.000000000 +0100 @@ -1,0 +2,8 @@ +Sun Mar 13 06:44:13 UTC 2016 - astie...@suse.com + +- liblognorm 1.1.3: + * add support for libfastjson + * check for runaway rules + * fix: process last line if it misses the terminating LF + +------------------------------------------------------------------- Old: ---- liblognorm-1.1.2.tar.gz New: ---- liblognorm-1.1.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ liblognorm.spec ++++++ --- /var/tmp/diff_new_pack.6XT78c/_old 2016-03-16 10:36:08.000000000 +0100 +++ /var/tmp/diff_new_pack.6XT78c/_new 2016-03-16 10:36:08.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package liblognorm # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define sover 2 %define with_html_docs 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Name: liblognorm -Version: 1.1.2 +Version: 1.1.3 Release: 0 Summary: Library and tool to normalize log data License: LGPL-2.1+ and Apache-2.0 @@ -30,10 +30,12 @@ %if 0%{?suse_version} >= 1210 BuildRequires: pkgconfig(json-c) BuildRequires: pkgconfig(libestr) +BuildRequires: pkgconfig(libfastjson) >= 0.99.0 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(pkg-config) >= 0.9.0 %else BuildRequires: libestr-devel +BuildRequires: libfastjson-devel >= 0.99.0 BuildRequires: libjson-c-devel BuildRequires: pcre-devel BuildRequires: pkg-config >= 0.9.0 @@ -134,7 +136,7 @@ make %{?_smp_mflags} %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} +make %{?_smp_mflags} DESTDIR=%{buildroot} install find %{buildroot} -type f -name "*.la" -delete -print %if %{with_html_docs} rm %{buildroot}/%{_docdir}/%{name}/.buildinfo @@ -144,7 +146,6 @@ make check %{?_smp_mflags} %post -n liblognorm%{sover} -p /sbin/ldconfig - %postun -n liblognorm%{sover} -p /sbin/ldconfig %files -n liblognorm%{sover} ++++++ liblognorm-1.1.2.tar.gz -> liblognorm-1.1.3.tar.gz ++++++ ++++ 3105 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/ChangeLog new/liblognorm-1.1.3/ChangeLog --- old/liblognorm-1.1.2/ChangeLog 2015-07-20 10:23:03.000000000 +0200 +++ new/liblognorm-1.1.3/ChangeLog 2016-03-07 15:13:29.000000000 +0100 @@ -1,4 +1,23 @@ ---------------------------------------------------------------------- +Version 1.1.3, 2016-03-07 +- add support for libfastjson +- make work on Solaris +- check for runaway rules. + A runaway rule is one that has unmatched percent signs and thus + is not terminated properly at its end. This also means we no longer + accept "rule=" at the first column of a continuation line, which is + no problem (see doc for more information). +- fix: process last line if it misses the terminating LF + This problem occurs with the very last line of a rulebase (at EOF). + If it is not properly terminated (LF missing), it is silently ignored. + Previous versions did obviously process lines in this case. While + technically this is invalid input, we can't outrule that such rulebases + exist. For example, they do in the rsyslog testbench, which made + us aware of the problem (see https://github.com/rsyslog/rsyslog/issues/489 ) + I think the proper way of addressing this is to process such lines without + termination, as many other tools do as well. + closes https://github.com/rsyslog/liblognorm/issues/135 +---------------------------------------------------------------------- Version 1.1.2, 2015-07-20 - permit newline inside parser definition - new parser "cisco-interface-spec" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/Makefile.am new/liblognorm-1.1.3/Makefile.am --- old/liblognorm-1.1.2/Makefile.am 2015-03-10 10:29:38.000000000 +0100 +++ new/liblognorm-1.1.3/Makefile.am 2016-03-07 15:12:33.000000000 +0100 @@ -1,4 +1,4 @@ -SUBDIRS = src +SUBDIRS = compat src if ENABLE_DOCS SUBDIRS += doc endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/compat/Makefile.am new/liblognorm-1.1.3/compat/Makefile.am --- old/liblognorm-1.1.2/compat/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ new/liblognorm-1.1.3/compat/Makefile.am 2015-12-15 11:14:59.000000000 +0100 @@ -0,0 +1,6 @@ +noinst_LTLIBRARIES = compat.la + +compat_la_SOURCES = strndup.c +compat_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) +compat_la_LDFLAGS = -module -avoid-version +compat_la_LIBADD = $(IMUDP_LIBS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/compat/strndup.c new/liblognorm-1.1.3/compat/strndup.c --- old/liblognorm-1.1.2/compat/strndup.c 1970-01-01 01:00:00.000000000 +0100 +++ new/liblognorm-1.1.3/compat/strndup.c 2015-12-15 11:14:59.000000000 +0100 @@ -0,0 +1,40 @@ +/* compatibility file for systems without strndup. + * + * Copyright 2015 Rainer Gerhards and Adiscon + * + * This file is part of liblognorm. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * -or- + * see COPYING.ASL20 in the source distribution + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "config.h" +#ifndef HAVE_STRNDUP + +#include <stdlib.h> +#include <string.h> +char * +strndup(const char *s, size_t n) +{ + const size_t len = strlen(s); + if(len <= n) + return strdup(s); + char *const new_s = malloc(len+1); + if(new_s == NULL) + return NULL; + memcpy(new_s, s, len); + new_s[len] = '\0'; + return new_s; +} + +#endif /* #ifndef HAVE_STRNDUP */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/compile new/liblognorm-1.1.3/compile --- old/liblognorm-1.1.2/compile 2015-07-15 17:09:04.000000000 +0200 +++ new/liblognorm-1.1.3/compile 2016-01-11 13:47:46.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/configure.ac new/liblognorm-1.1.3/configure.ac --- old/liblognorm-1.1.2/configure.ac 2015-07-20 10:23:14.000000000 +0200 +++ new/liblognorm-1.1.3/configure.ac 2016-03-07 15:15:31.000000000 +0100 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([liblognorm], [1.1.2], [rgerha...@adiscon.com]) +AC_INIT([liblognorm], [1.1.3], [rgerha...@adiscon.com]) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_SRCDIR([src/lognorm.c]) @@ -49,7 +49,7 @@ # modules we require PKG_CHECK_MODULES(LIBESTR, libestr >= 0.0.0) -PKG_CHECK_MODULES(JSON_C, json-c,, [PKG_CHECK_MODULES(JSON_C, json)]) +PKG_CHECK_MODULES(JSON_C, libfastjson,, [PKG_CHECK_MODULES(JSON_C, json-c,, [PKG_CHECK_MODULES(JSON_C, json)]) ]) CFLAGS_BEFORE="$CFLAGS" LIBS_BEFORE="$LIBS" @@ -145,6 +145,7 @@ AC_CONFIG_FILES([Makefile \ lognorm.pc \ + compat/Makefile \ doc/Makefile \ src/Makefile \ src/lognorm-features.h \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/doc/configuration.rst new/liblognorm-1.1.3/doc/configuration.rst --- old/liblognorm-1.1.2/doc/configuration.rst 2015-07-15 14:28:47.000000000 +0200 +++ new/liblognorm-1.1.3/doc/configuration.rst 2016-03-07 15:12:33.000000000 +0100 @@ -117,6 +117,17 @@ rule=:%date:date-rfc3164% %host:word% % tag:char-to:\x3a %: no longer listening on % ip:ipv4 %#% port:number %' +To prevent a typical user error, continuation lines are **not** permitted +to start with ``rule=``. There are some obscure cases where this could +be a valid rule, and it can be re-formatted in that case. Moreoften, this +is the result of a missing percent sign, as in this sample:: + + rule=:test%field:word ... missing percent sign ... + rule=:%f:word% + +If we would permit ``rule=`` at start of continuation line, these kinds +of problems would be very hard to detect. + Additional information is dependent on the field type; only some field types need additional information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/missing new/liblognorm-1.1.3/missing --- old/liblognorm-1.1.2/missing 2015-07-15 17:09:04.000000000 +0200 +++ new/liblognorm-1.1.3/missing 2016-01-11 13:47:46.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/src/Makefile.am new/liblognorm-1.1.3/src/Makefile.am --- old/liblognorm-1.1.2/src/Makefile.am 2015-07-20 10:20:56.000000000 +0200 +++ new/liblognorm-1.1.3/src/Makefile.am 2016-03-07 15:12:33.000000000 +0100 @@ -9,7 +9,7 @@ bin_PROGRAMS = lognormalizer lognormalizer_SOURCES = lognormalizer.c lognormalizer_CPPFLAGS = -I$(top_srcdir) $(JSON_C_CFLAGS) $(LIBESTR_CFLAGS) -lognormalizer_LDADD = $(JSON_C_LIBS) $(LIBLOGNORM_LIBS) $(LIBESTR_LIBS) +lognormalizer_LDADD = $(JSON_C_LIBS) $(LIBLOGNORM_LIBS) $(LIBESTR_LIBS) ../compat/compat.la lognormalizer_DEPENDENCIES = liblognorm.la check_PROGRAMS = ln_test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/src/liblognorm.h new/liblognorm-1.1.3/src/liblognorm.h --- old/liblognorm-1.1.2/src/liblognorm.h 2015-07-20 10:20:56.000000000 +0200 +++ new/liblognorm-1.1.3/src/liblognorm.h 2016-03-07 15:12:33.000000000 +0100 @@ -251,4 +251,13 @@ */ int ln_normalize(ln_ctx ctx, const char *str, size_t strLen, struct json_object **json_p); +/* here we add some stuff from the compatibility layer. A separate include + * would be cleaner, but would potentially require changes all over the + * place. So doing it here is better. The respective replacement + * functions should usually be found under ./compat -- rgerhards, 2015-05-20 + */ +#ifndef HAVE_STRNDUP +char * strndup(const char *s, size_t n); +#endif + #endif /* #ifndef LOGNORM_H_INCLUDED */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/src/samp.c new/liblognorm-1.1.3/src/samp.c --- old/liblognorm-1.1.2/src/samp.c 2015-07-20 10:20:56.000000000 +0200 +++ new/liblognorm-1.1.3/src/samp.c 2016-03-07 15:12:33.000000000 +0100 @@ -787,6 +787,37 @@ } +/* this checks if in a multi-line rule, the next line seems to be a new + * rule, which would meand we have some unmatched percent signs inside + * our rule (what we call a "runaway rule"). This can easily happen and + * is otherwise hard to debug, so let's see if it is the case... + * @return 1 if this is a runaway rule, 0 if not + */ +static int +chkRunawayRule(ln_ctx ctx, FILE *const __restrict__ repo, const int linenbr) +{ + int r = 1; + fpos_t fpos; + char buf[6]; + + fgetpos(repo, &fpos); + if(fread(buf, sizeof(char), sizeof(buf)-1, repo) != 5) + goto done; + buf[5] = '\0'; + if(!strcmp(buf, "rule=")) { + ln_errprintf(ctx, 0, "line %d has 'rule=' at begin of line, which " + "does look like a typo in the previous lines (unmatched " + "%% character) and is forbidden. If valid, please re-foramt " + "the rule to start with other characters. Rule ignored.", + linenbr); + goto done; + } + + r = 0; +done: + fsetpos(repo, &fpos); + return r; +} struct ln_samp * ln_sampRead(ln_ctx ctx, FILE *const __restrict__ repo, int *const __restrict__ isEof) { @@ -801,9 +832,19 @@ int c = fgetc(repo); if(c == EOF) { *isEof = 1; - goto done; + if(i == 0) + goto done; + else + done = 1; /* last line missing LF, still process it! */ } else if(c == '\n') { ++linenbr; + if(inParser) { + if(chkRunawayRule(ctx, repo, linenbr)) { + /* ignore previous rule */ + inParser = 0; + i = 0; + } + } if(!inParser && i != 0) done = 1; } else if(c == '#' && i == 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/test-driver new/liblognorm-1.1.3/test-driver --- old/liblognorm-1.1.2/test-driver 2015-07-15 17:09:04.000000000 +0200 +++ new/liblognorm-1.1.3/test-driver 2016-01-11 13:47:47.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2013-07-13.22; # UTC -# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -106,11 +106,14 @@ # Test script is run here. "$@" >$log_file 2>&1 estatus=$? + if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 + tweaked_estatus=1 +else + tweaked_estatus=$estatus fi -case $estatus:$expect_failure in +case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; @@ -119,6 +122,12 @@ *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + # Report outcome to console. echo "${col}${res}${std}: $test_name" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/tests/Makefile.am new/liblognorm-1.1.3/tests/Makefile.am --- old/liblognorm-1.1.2/tests/Makefile.am 2015-07-20 10:20:56.000000000 +0200 +++ new/liblognorm-1.1.3/tests/Makefile.am 2016-03-07 15:12:33.000000000 +0100 @@ -7,12 +7,13 @@ user_test_SOURCES = user_test.c user_test_CPPFLAGS = $(LIBLOGNORM_CFLAGS) $(JSON_C_CFLAGS) $(LIBESTR_CFLAGS) -user_test_LDADD = $(JSON_C_LIBS) $(LIBLOGNORM_LIBS) $(LIBESTR_LIBS) +user_test_LDADD = $(JSON_C_LIBS) $(LIBLOGNORM_LIBS) $(LIBESTR_LIBS) ../compat/compat.la user_test_LDFLAGS = -no-install TESTS_SHELLSCRIPTS = \ parser_whitespace.sh \ parser_LF.sh \ + missing_line_ending.sh \ field_hexnumber.sh \ field_mac48.sh \ field_name_value.sh \ @@ -54,6 +55,7 @@ field_regex_while_regex_support_is_disabled.sh EXTRA_DIST = exec.sh \ + missing_line_ending.rb \ $(TESTS_SHELLSCRIPTS) \ $(REGEXP_TESTS) \ $(json_eq_self_sources) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/tests/field_mac48.sh new/liblognorm-1.1.3/tests/field_mac48.sh --- old/liblognorm-1.1.2/tests/field_mac48.sh 2015-07-16 07:35:49.000000000 +0200 +++ new/liblognorm-1.1.3/tests/field_mac48.sh 2016-03-07 15:12:33.000000000 +0100 @@ -21,4 +21,3 @@ cleanup_tmp_files - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/tests/missing_line_ending.rb new/liblognorm-1.1.3/tests/missing_line_ending.rb --- old/liblognorm-1.1.2/tests/missing_line_ending.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/liblognorm-1.1.3/tests/missing_line_ending.rb 2016-03-07 15:12:33.000000000 +0100 @@ -0,0 +1 @@ +rule=:%field:mac48% \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/liblognorm-1.1.2/tests/missing_line_ending.sh new/liblognorm-1.1.3/tests/missing_line_ending.sh --- old/liblognorm-1.1.2/tests/missing_line_ending.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/liblognorm-1.1.3/tests/missing_line_ending.sh 2016-03-07 15:12:33.000000000 +0100 @@ -0,0 +1,25 @@ +# added 2015-05-05 by Rainer Gerhards +# This file is part of the liblognorm project, released under ASL 2.0 +. $srcdir/exec.sh + +test_def $0 "dmac48 syntax" +# we need to use a canned file, as we cannot easily reproduce the +# malformed lines +cp missing_line_ending.rb $(rulebase_file_name) + +execute 'f0:f6:1c:5f:cc:a2' +assert_output_json_eq '{"field": "f0:f6:1c:5f:cc:a2"}' + +execute 'f0-f6-1c-5f-cc-a2' +assert_output_json_eq '{"field": "f0-f6-1c-5f-cc-a2"}' + +# things that need to NOT match + +execute 'f0-f6:1c:5f:cc-a2' +assert_output_json_eq '{ "originalmsg": "f0-f6:1c:5f:cc-a2", "unparsed-data": "f0-f6:1c:5f:cc-a2" }' + +execute 'f0:f6:1c:xf:cc:a2' +assert_output_json_eq '{ "originalmsg": "f0:f6:1c:xf:cc:a2", "unparsed-data": "f0:f6:1c:xf:cc:a2" }' + + +#cleanup_tmp_files