Add working status detection for pf on FreeBSD
The return code of "service pf onestatus" is usually zero on FreeBSD (tested with FreeBSD 10.0), even if pf is not running. So the service module always thinks that pf is running, even when it needs to be started.
This commit is contained in:
parent
63e81cfc2e
commit
c96a85fb70
1 changed files with 7 additions and 4 deletions
|
@ -913,10 +913,13 @@ class FreeBsdService(Service):
|
||||||
|
|
||||||
def get_service_status(self):
|
def get_service_status(self):
|
||||||
rc, stdout, stderr = self.execute_command("%s %s %s %s" % (self.svc_cmd, self.name, 'onestatus', self.arguments))
|
rc, stdout, stderr = self.execute_command("%s %s %s %s" % (self.svc_cmd, self.name, 'onestatus', self.arguments))
|
||||||
if rc == 1:
|
if self.name == "pf":
|
||||||
self.running = False
|
self.running = "Enabled" in stdout
|
||||||
elif rc == 0:
|
else:
|
||||||
self.running = True
|
if rc == 1:
|
||||||
|
self.running = False
|
||||||
|
elif rc == 0:
|
||||||
|
self.running = True
|
||||||
|
|
||||||
def service_enable(self):
|
def service_enable(self):
|
||||||
if self.enable:
|
if self.enable:
|
||||||
|
|
Loading…
Reference in a new issue