Cannot enable syslog-ng, syntax test failed, requires version 3.5



  • I installed syslog-ng 3.5.4.1 pkg.v.1.0.2 on pfSense 2.1.5 i386.  When I try to enable syslog-ng, it does not start and I get the following error:

    **The following input errors were detected:

    Syslog-ng syntax test failed: WARNING: Configuration file format is newer than the current version, please specify the
    current version number (3.5) in the @version directive. syslog-ng will operate at its highest supported version in this
    mode;**

    I found /usr/local/etc/syslog-ng.conf, which starts with:

    # This file is automatically generated by pfSense
    # Do not edit manually !
    @version:3.6
    

    With that file's warning, I assume it's best not change it, but alas, even changing it to the above error's prerequisite @version:3.5 has no effect.  Same error.

    Help!



  • These are the instructions I wrote for myself to fix this issue on pfsense 2.1.5.  On 2.2, the package "just worked."

    Log into the webgui as admin and go to Diagnostics->Edit file and browse to /usr/local/pkg/syslog-ng.inc and

    1. search the file for @version.  Change it from whatever it is (likely 3.6) to 3.5; i.e. "@version:3.6\n"; becomes "@version:3.5\n";

    2. In the SAME FILE, find and replace this line (and yes, it’s all one line):

    preg_match("/\bfile\b('"['"]/", base64_decode($object['objectparameters']), $match);

    with this line:

    preg_match("/[^-]\bfile\b('"['"]/", base64_decode($object['objectparameters']), $match);

    3. and then SAVE the file.
    Try and start the syslog-ng service now.

    That's what I do on every one I install and it works like a charm.



  • hello gentlemen

    The my last version is 3.7.

    I have the same problem.

    I applied a configuration informed but without success .



  • @snm777:

    These are the instructions I wrote for myself to fix this issue on pfsense 2.1.5.  On 2.2, the package "just worked."

    Log into the webgui as admin and go to Diagnostics->Edit file and browse to /usr/local/pkg/syslog-ng.inc and

    1. search the file for @version.  Change it from whatever it is (likely 3.6) to 3.5; i.e. "@version:3.6\n"; becomes "@version:3.5\n";

    2. In the SAME FILE, find and replace this line (and yes, it’s all one line):

    preg_match("/\bfile\b('"['"]/", base64_decode($object['objectparameters']), $match);

    with this line:

    preg_match("/[^-]\bfile\b('"['"]/", base64_decode($object['objectparameters']), $match);

    3. and then SAVE the file.
    Try and start the syslog-ng service now.

    That's what I do on every one I install and it works like a charm.

    hello gentlemen

    The my last version is 3.7.

    I have the same problem.

    I applied a configuration informed but without success .


  • LAYER 8 Global Moderator

    What exactly are you trying to install on what?  What version of pfsense are you running?  There is syslog-ng package what works just fine.



  • @johnpoz:

    What exactly are you trying to install on what?  What version of pfsense are you running?  There is syslog-ng package what works just fine.

    We're trying to install package syslog-ng.  We're getting the error below:

    The following input errors were detected:

    Syslog-ng syntax test failed: [2016-07-17T14:30:03.757548] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode Please update it to use the syslog-ng 3.7 format at your time of convinience, compatibility mode can operate less efficiently in some cases. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;

    Personally this is my version info.  Not sure what others above are running:

    2.3.1-RELEASE-p5 (i386)
    built on Thu Jun 16 12:53:31 CDT 2016
    FreeBSD 10.3-RELEASE-p3

    package version of syslog-ng is:

    syslog-ng sysutils 1.1.2_3
    syslog-ng-3.7.3_1



  • so this has been broken for over a year, with no attention?



  • Same problem with:

    pfSense Version:
    2.3.2-RELEASE (amd64)
    built on Tue Jul 19 12:44:43 CDT 2016
    FreeBSD 10.3-RELEASE-p5

    Package version of syslog-ng:

    Name        Category      Version   
    syslog-ng   sysutils        1.1.2_3

    Description
    Package Dependencies:
    logrotate-3.9.2  syslog-ng-3.7.3_4

    Edit file /usr/local/pkg/syslog-ng.inc to search @version:3.6 and change it to @version:3.7

    …then save the file and finally enable syslog-ng

    It works for me



  • Sometime during the life of pfsense 2.2, logrotate stopped working for syslog-ng.  Following my directions above, I am still able to get syslog-NG to start with no errors on pfsense 2.3.2, just changing the version to 3.7 instead of 3.5.  That said, does anyone know if logrotate is working correctly  for syslog-ng in pfsense 2.3.2?  I need to get systems of  of 2.1, but I have not been able to due to the issues with syslog-ng in 2.2.  Need to do syslog over TLS, and the standard pfsense install can't do that.

    EDIT: I found a way to get logrotate working for syslog-ng in pfsense 2.2.x:
    https://forum.pfsense.org/index.php?topic=95832.msg647653#msg647653


Log in to reply