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.
pull/18777/head
David Fritzsche 10 years ago committed by Matt Clay
parent e9a0fad36b
commit 14720b54ac

@ -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…
Cancel
Save