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
e9a0fad36b
commit
14720b54ac
1 changed files with 7 additions and 4 deletions
|
@ -928,10 +928,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