From fd2e261fad02c73e77a5795615e70364ee0250c7 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 16 Aug 2017 18:05:39 +0200 Subject: [PATCH] repair sqlite database in CP after failure, https://forum.opnsense.org/index.php?topic=5744.msg23645#msg23645 --- .../scripts/OPNsense/CaptivePortal/cp-background-process.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/opnsense/scripts/OPNsense/CaptivePortal/cp-background-process.py b/src/opnsense/scripts/OPNsense/CaptivePortal/cp-background-process.py index 3a578ef5f..d038f419d 100755 --- a/src/opnsense/scripts/OPNsense/CaptivePortal/cp-background-process.py +++ b/src/opnsense/scripts/OPNsense/CaptivePortal/cp-background-process.py @@ -33,11 +33,13 @@ import time import syslog import traceback import subprocess +sys.path.insert(0, "/usr/local/opnsense/site-python") from lib import Config from lib.db import DB from lib.arp import ARP from lib.ipfw import IPFW from lib.daemonize import Daemonize +from sqlite3_helper import check_and_repair class CPBackgroundProcess(object): @@ -192,6 +194,9 @@ def main(): """ Background process loop, runs as backend daemon for all zones. only one should be active at all times. The main job of this procedure is to sync the administration with the actual situation in the ipfw firewall. """ + # perform integrity check and repair database if needed + check_and_repair('/var/captiveportal/captiveportal.sqlite') + last_cleanup_timestamp = 0 bgprocess = CPBackgroundProcess() bgprocess.initialize_fixed()