Bug #53
closedSome packages with RC scripts start twice at bootup
0%
Description
Some packages like snort startup on package sync, and they create and RC script.
This means that when packages are sync'd at boot, they are started, and then the RC script is called which starts them again.
In the case of snort, this makes it either fail or start twice, depending on timing. If blocking is enabled with snort, snort2c never seems to start properly in this scenario.
I'm trying to come up with a feasible way to detect this scenario and work around it. Ideas are welcome.
Updated by Jim Pingle over 15 years ago
I was able to at least get snort to behave better by changing its startup routine slightly:
https://rcs.pfsense.org/projects/pfsense-packages/repos/mainline/commits/06218f27a5575310206dcbca0ee8cfb6a5344e54
However, larger issue will take some more thought.
My current line of thinking is to move the deletion of /var/run/booting from rc.bootup to the end of rc, as that is really when the boot process is complete.
As a consequence, the package sync routines would then be able to check for that file and refrain from starting the service if needed. On a test VM, this worked out pretty well. I'll make up some patches and attach them later.
Updated by Chris Buechler over 14 years ago
- Project changed from pfSense Packages to pfSense
Updated by Chris Buechler over 14 years ago
- Category set to Package System
- Target version set to 2.0
- Affected Version set to All
Updated by Jim Pingle over 14 years ago
I've done all I can think of to do in the base system for this, the rest is up to package maintainers.
If a package sees {$g['varrun_path']}/booting, it should sync, write its rc file, but not stop/start.