Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    New pfblockerNG install Database Sanity check Failed

    Scheduled Pinned Locked Moved pfBlockerNG
    38 Posts 10 Posters 4.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      marchand.guy @marchand.guy
      last edited by marchand.guy

      @marchand-guy Verified hypothesis. The code always reported true before 3.2.8.
      Good catch

      1 Reply Last reply Reply Quote 0
      • tinfoilmattT
        tinfoilmatt
        last edited by

        Looks like dev (@BBcan177) is already reviewing. Good teamwork, y'all.

        Responsible commit here. Remark indicates it was a cleanup commit. I don't have the coding skills to say for sure, but this pfblocker.php update and this pfblocker_alerts.php update look odd for some reason, in addition to whatever the pfblockerng.sh L1281 fix exposed.

        @marcosm

        BBcan177B 1 Reply Last reply Reply Quote 0
        • BBcan177B
          BBcan177 Moderator @tinfoilmatt
          last edited by

          I think I found the last issue. The "masterfile" is a list of Filename/IPs. The "mastercat" file is just the IPs only. So it was trying to grep -v (exclude) any lines that start with the placeholder IP. So we need to change the masterfile to the mastercat in this line.

          Try to change this line from:

          From:
          s1="$(grep -cv ^${ip_placeholder2}$ ${masterfile})"

          To:
          s1="$(grep -cv ^${ip_placeholder2}$ ${mastercat})"

          "Experience is something you don't get until just after you need it."

          Website: http://pfBlockerNG.com
          Twitter: @BBcan177  #pfBlockerNG
          Reddit: https://www.reddit.com/r/pfBlockerNG/new/

          T M S 3 Replies Last reply Reply Quote 4
          • T
            TheXman @BBcan177
            last edited by

            @BBcan177 Thank you!

            1 Reply Last reply Reply Quote 0
            • M
              Maltz @BBcan177
              last edited by

              @BBcan177 Success!

              Database Sanity check [ PASSED ]

              M 1 Reply Last reply Reply Quote 0
              • M
                marchand.guy @Maltz
                last edited by

                @Maltz How?
                No change on pfsense.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Maltz @marchand.guy
                  last edited by Maltz

                  @marchand-guy I manually made the change to the shell script that BBcan177 described.

                  M 1 Reply Last reply Reply Quote 0
                  • S
                    slu @BBcan177
                    last edited by

                    @BBcan177 so next step is a new package for pfSense?

                    pfSense Gold subscription

                    1 Reply Last reply Reply Quote 0
                    • M
                      marchand.guy @Maltz
                      last edited by

                      @Maltz said in New pfblockerNG install Database Sanity check Failed:

                      @marchand-guy I manually made the change to the shell script that BBcan177 described.

                      Ok, done as well.
                      Thanks

                      M 1 Reply Last reply Reply Quote 0
                      • tinfoilmattT
                        tinfoilmatt
                        last edited by tinfoilmatt

                        Thanks, @BBcan177.

                        Some clear confusion ITT re pfSense system version and pfBlockerNG package version numbers. For posterity:

                        pfSense 2.7.2 CE - Database Sanity check issue not present, because pfBlockerNG and pfBlockerNG-devel packages are both on "RELENG_2_7_2" branch of pfSense / FreeBSD-Ports

                        pfSense 2.8 CE - Database Sanity check regression, possibly because branch updated to "devel" for both packages?

                        (RELENG_2_7_2 branch: pfBlockerNG/pfBlockerNG-devel)
                        (devel branch: pfBlockerNG/pfBlockerNG-devel)

                        I think that's what's happened. Maybe someone can give me a sanity check. 😜

                        The package version numbers appear to have been realigned in pfSense 2.8 CE however. The last package versions of pfBlockerNG and pfBockerNG-devel on pfSense 2.7.2 CE were 3.2.8 and 3.2.0_20 respectively.

                        But under 2.8 CE, both packages are now currently on version 3.2.8 (pfBlockerNG and pfBlockerNG-devel).

                        Will both packages continue to be maintained separately and we should expect version numbers to potentially diverge again?

                        M 1 Reply Last reply Reply Quote 1
                        • M
                          madmaxpr @tinfoilmatt
                          last edited by

                          @tinfoilmatt Is there a fix or patch being published for this? Still waiting.

                          tinfoilmattT 1 Reply Last reply Reply Quote 0
                          • tinfoilmattT
                            tinfoilmatt @madmaxpr
                            last edited by

                            @madmaxpr I'm sure there will be, but @BBcan177's manual patch can be applied in the meantime.

                            File to edit is /usr/local/pkg/pfblockerng/pfblockerng.sh, Line 1232 on my 2.8 CE/package version 3.2.8 system.

                            1 Reply Last reply Reply Quote 1
                            • M
                              Maltz @marchand.guy
                              last edited by

                              @tinfoilmatt There are a few things that are not quite right in there... but the short version is that this has always been broken, it seems, but the check doesn't actually do anything apart from display the alert anyway.

                              In pfSense 2.7.2, pfBlockerNG and devel were at versions 3.2.0_8 and 3.2.0_20, respectively. In pfSense 2.8.0, they are both at v3.2.8.

                              Note that 3.2.0_8 ≠ 3.2.8

                              Versions 3.2.0_8 (and 3.2.0_20?) had two issues with the Database Sanity check. The first one broke the check entirely and it always showed PASSED no matter what. The second one was that the check was checking against "masterfile" instead of "mastercat"

                              The first problem was fixed in v3.2.8, which exposed the second problem. The second problem is fixed by the change BBcan177 described above.

                              And for those worrying about a patch - Since BBcan177 created the fix himself, I assume it'll be fixed in the next release. Also, this issue is strictly cosmetic, so there's not an urgent need for a new release to fix it. But if your OCD can't let it go (and I can relate lol) then just apply BBcan177's fix manually while we wait.

                              tinfoilmattT 1 Reply Last reply Reply Quote 1
                              • tinfoilmattT
                                tinfoilmatt @Maltz
                                last edited by tinfoilmatt

                                @Maltz said in New pfblockerNG install Database Sanity check Failed:

                                Versions 3.2.0_8 (and 3.2.0_20?) had two issues with the Database Sanity check. The first one broke the check entirely and it always showed PASSED no matter what. The second one was that the check was checking against "masterfile" instead of "mastercat"

                                The first problem was fixed in v3.2.8, which exposed the second problem. The second problem is fixed by the change BBcan177 described above.

                                Solid recap. So when all is said and patched, two relevant lines of /usr/local/pkg/pfblockerng/pfblockerng.sh should read...

                                Line 1232 (needs manual change until patch released):

                                s1="$(grep -cv ^${ip_placeholder2}$ ${mastercat})"
                                

                                Line 1281 (should already be present in package version 3.2.8):

                                if [ "${s1}" == "${s2}" ]; then
                                
                                M 1 Reply Last reply Reply Quote 1
                                • M
                                  MidGe48 @tinfoilmatt
                                  last edited by

                                  @tinfoilmatt

                                  here: running pfSense 2.8.0-RELEASE and pfBlockerNG 3.2.8-dev

                                  Made the suggested change to line 1232.

                                  Still same issue showing DNSBL (unbound mode) out of sync.

                                  Should I revert the channge to ensure that the patch when available works correctly?

                                  Thanks for nay help.

                                  LaxarusL 1 Reply Last reply Reply Quote 0
                                  • LaxarusL
                                    Laxarus @MidGe48
                                    last edited by Laxarus

                                    @MidGe48

                                    I had the same issue

                                    make the suggested change on line 1232

                                    then go to general
                                    uncheck

                                    • pfBlockerNG Enable
                                    • Keep Settings Enable
                                      save
                                      wait for it to save

                                    then

                                    check

                                    • pfBlockerNG Enable
                                    • Keep Settings Enable
                                      save
                                      wait for it to save

                                    then

                                    force reload all

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MidGe48 @Laxarus
                                      last edited by

                                      @Laxarus

                                      Thank you Laxarus,

                                      It seems to have worked.

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post
                                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.