def init(self): self.title = _('CSF Firewall') self.icon = 'fire' self.category = _('System') self.backend = CSFBackend.get() self.append(self.ui.inflate('csf:main')) self.config = CSFConfig(path='/etc/csf/csf.conf') self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(['csf', csf_option, i.value.split('#')[0]]) self.refresh() self.find('list_allow').on_delete = lambda i, c: delete('-ar', i) self.find('list_deny').on_delete = lambda i, c: delete('-dr', i) self.find('list_tempallow').on_delete = lambda i, c: delete('-tr', i) self.find('list_tempban').on_delete = lambda i, c: delete('-tr', i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(['csf', csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify('info', o) self.refresh() self.find('list_allow-add').on( 'click', lambda: add_rule('-a', self.find('permanent-lists-add-address').value)) self.find('list_deny-add').on( 'click', lambda: add_rule('-d', self.find('permanent-lists-add-address').value)) self.find('list_tempallow-add').on( 'click', lambda: add_rule('-ta', self.find('temporary-lists-add-address').value)) self.find('list_tempban-add').on( 'click', lambda: add_rule('-td', self.find('temporary-lists-add-address').value)) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find('lists'))
def init(self): self.title = _("CSF Firewall") self.icon = "fire" self.category = _("System") self.backend = CSFBackend.get() self.append(self.ui.inflate("csf:main")) self.config = CSFConfig(path="/etc/csf/csf.conf") self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(["csf", csf_option, i.value.split("#")[0]]) self.refresh() self.find("list_allow").on_delete = lambda i, c: delete("-ar", i) self.find("list_deny").on_delete = lambda i, c: delete("-dr", i) self.find("list_tempallow").on_delete = lambda i, c: delete("-tr", i) self.find("list_tempban").on_delete = lambda i, c: delete("-tr", i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(["csf", csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify("info", o) self.refresh() self.find("list_allow-add").on("click", lambda: add_rule("-a", self.find("permanent-lists-add-address").value)) self.find("list_deny-add").on("click", lambda: add_rule("-d", self.find("permanent-lists-add-address").value)) self.find("list_tempallow-add").on( "click", lambda: add_rule("-ta", self.find("temporary-lists-add-address").value) ) self.find("list_tempban-add").on( "click", lambda: add_rule("-td", self.find("temporary-lists-add-address").value) ) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find("lists"))
def init(self): self.title = _('CSF Firewall') self.icon = 'fire' self.category = _('System') self.backend = CSFBackend.get() self.append(self.ui.inflate('csf:main')) self.config = CSFConfig(path='/etc/csf/csf.conf') self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(['csf', csf_option, i.value.split('#')[0]]) self.refresh() self.find('list_allow').on_delete = lambda i, c: delete('-ar', i) self.find('list_deny').on_delete = lambda i, c: delete('-dr', i) self.find('list_tempallow').on_delete = lambda i, c: delete('-tr', i) self.find('list_tempban').on_delete = lambda i, c: delete('-tr', i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(['csf', csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify('info', o) self.refresh() self.find('list_allow-add').on('click', lambda: add_rule('-a', self.find('permanent-lists-add-address').value)) self.find('list_deny-add').on('click', lambda: add_rule('-d', self.find('permanent-lists-add-address').value)) self.find('list_tempallow-add').on('click', lambda: add_rule('-ta', self.find('temporary-lists-add-address').value)) self.find('list_tempban-add').on('click', lambda: add_rule('-td', self.find('temporary-lists-add-address').value)) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find('lists'))
class CSFSection (SectionPlugin): def init(self): self.title = _('CSF Firewall') self.icon = 'fire' self.category = _('System') self.backend = CSFBackend.get() self.append(self.ui.inflate('csf:main')) self.config = CSFConfig(path='/etc/csf/csf.conf') self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(['csf', csf_option, i.value.split('#')[0]]) self.refresh() self.find('list_allow').on_delete = lambda i, c: delete('-ar', i) self.find('list_deny').on_delete = lambda i, c: delete('-dr', i) self.find('list_tempallow').on_delete = lambda i, c: delete('-tr', i) self.find('list_tempban').on_delete = lambda i, c: delete('-tr', i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(['csf', csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify('info', o) self.refresh() self.find('list_allow-add').on('click', lambda: add_rule('-a', self.find('permanent-lists-add-address').value)) self.find('list_deny-add').on('click', lambda: add_rule('-d', self.find('permanent-lists-add-address').value)) self.find('list_tempallow-add').on('click', lambda: add_rule('-ta', self.find('temporary-lists-add-address').value)) self.find('list_tempban-add').on('click', lambda: add_rule('-td', self.find('temporary-lists-add-address').value)) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find('lists')) def on_page_load(self): self.refresh() def refresh(self): self.config.load() self.list_allow = self.backend.read_list('allow') self.list_deny = self.backend.read_list('deny') self.list_tempallow = self.backend.read_list('tempallow') self.list_tempban = self.backend.read_list('tempban') self.binder.setup(self.config.tree).populate() self.binder_lists.populate() @on('apply', 'click') def on_apply(self): self.backend.apply() self.context.notify('info', _('Applied')) @on('save', 'click') def save(self): self.binder.update() self.config.save() self.backend.write_list('allow', self.list_allow) self.backend.write_list('deny', self.list_deny) self.backend.write_list('tempallow', self.list_tempallow) self.backend.write_list('tempban', self.list_tempban) self.binder.setup(self.config.tree).populate() self.context.notify('info', _('Saved')) try: self.backend.test_config() self.context.notify('info', _('Self-test OK')) except Exception as e: self.context.notify('error', str(e))
class CSFSection(SectionPlugin): def init(self): self.title = _('CSF Firewall') self.icon = 'fire' self.category = _('System') self.backend = CSFBackend.get() self.append(self.ui.inflate('csf:main')) self.config = CSFConfig(path='/etc/csf/csf.conf') self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(['csf', csf_option, i.value.split('#')[0]]) self.refresh() self.find('list_allow').on_delete = lambda i, c: delete('-ar', i) self.find('list_deny').on_delete = lambda i, c: delete('-dr', i) self.find('list_tempallow').on_delete = lambda i, c: delete('-tr', i) self.find('list_tempban').on_delete = lambda i, c: delete('-tr', i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(['csf', csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify('info', o) self.refresh() self.find('list_allow-add').on( 'click', lambda: add_rule('-a', self.find('permanent-lists-add-address').value)) self.find('list_deny-add').on( 'click', lambda: add_rule('-d', self.find('permanent-lists-add-address').value)) self.find('list_tempallow-add').on( 'click', lambda: add_rule('-ta', self.find('temporary-lists-add-address').value)) self.find('list_tempban-add').on( 'click', lambda: add_rule('-td', self.find('temporary-lists-add-address').value)) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find('lists')) def on_page_load(self): self.refresh() def refresh(self): self.config.load() self.list_allow = self.backend.read_list('allow') self.list_deny = self.backend.read_list('deny') self.list_tempallow = self.backend.read_list('tempallow') self.list_tempban = self.backend.read_list('tempban') self.binder.setup(self.config.tree).populate() self.binder_lists.populate() @on('apply', 'click') def on_apply(self): self.backend.apply() self.context.notify('info', _('Applied')) @on('save', 'click') def save(self): self.binder.update() self.config.save() self.backend.write_list('allow', self.list_allow) self.backend.write_list('deny', self.list_deny) self.backend.write_list('tempallow', self.list_tempallow) self.backend.write_list('tempban', self.list_tempban) self.binder.setup(self.config.tree).populate() self.context.notify('info', _('Saved')) try: self.backend.test_config() self.context.notify('info', _('Self-test OK')) except Exception as e: self.context.notify('error', str(e))
class CSFSection(SectionPlugin): def init(self): self.title = _("CSF Firewall") self.icon = "fire" self.category = _("System") self.backend = CSFBackend.get() self.append(self.ui.inflate("csf:main")) self.config = CSFConfig(path="/etc/csf/csf.conf") self.list_allow = [] self.list_deny = [] self.list_tempallow = [] self.list_tempban = [] def delete_rule(csf_option, i): self.save() subprocess.call(["csf", csf_option, i.value.split("#")[0]]) self.refresh() self.find("list_allow").on_delete = lambda i, c: delete("-ar", i) self.find("list_deny").on_delete = lambda i, c: delete("-dr", i) self.find("list_tempallow").on_delete = lambda i, c: delete("-tr", i) self.find("list_tempban").on_delete = lambda i, c: delete("-tr", i) def add_rule(csf_option, address): self.save() p = subprocess.Popen(["csf", csf_option, address], stdout=subprocess.PIPE) o, e = p.communicate() self.context.notify("info", o) self.refresh() self.find("list_allow-add").on("click", lambda: add_rule("-a", self.find("permanent-lists-add-address").value)) self.find("list_deny-add").on("click", lambda: add_rule("-d", self.find("permanent-lists-add-address").value)) self.find("list_tempallow-add").on( "click", lambda: add_rule("-ta", self.find("temporary-lists-add-address").value) ) self.find("list_tempban-add").on( "click", lambda: add_rule("-td", self.find("temporary-lists-add-address").value) ) self.binder = Binder(None, self) self.binder_lists = Binder(self, self.find("lists")) def on_page_load(self): self.refresh() def refresh(self): self.config.load() self.list_allow = self.backend.read_list("allow") self.list_deny = self.backend.read_list("deny") self.list_tempallow = self.backend.read_list("tempallow") self.list_tempban = self.backend.read_list("tempban") self.binder.setup(self.config.tree).populate() self.binder_lists.populate() @on("apply", "click") def on_apply(self): self.backend.apply() self.context.notify("info", _("Applied")) @on("save", "click") def save(self): self.binder.update() self.config.save() self.backend.write_list("allow", self.list_allow) self.backend.write_list("deny", self.list_deny) self.backend.write_list("tempallow", self.list_tempallow) self.backend.write_list("tempban", self.list_tempban) self.binder.setup(self.config.tree).populate() self.context.notify("info", _("Saved")) try: self.backend.test_config() self.context.notify("info", _("Self-test OK")) except Exception, e: self.context.notify("error", str(e))