From 26ca0455108580c11605a2e41e48676105332468 Mon Sep 17 00:00:00 2001 From: Nicolas Dandrimont Date: Sun, 27 Feb 2011 13:58:46 +0100 Subject: [PATCH] =?UTF-8?q?[ipset]=20m=C3=A9nage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit darcs-hash:20110227125846-ffbb2-55a2463b21c469fdd04dea5c99beffd2cd64b897.gz --- gestion/gen_confs/ipset.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/gestion/gen_confs/ipset.py b/gestion/gen_confs/ipset.py index 444f3272..0f17e0ed 100755 --- a/gestion/gen_confs/ipset.py +++ b/gestion/gen_confs/ipset.py @@ -36,29 +36,29 @@ class IpsetError(Exception): syslog.syslog(syslog.LOG_ERR,"%s : status %s,%s" % (cmd,err_code,output)) def __str__(self): return "%s\n status : %s\n %s" % (self.cmd,self.err_code,self.output) - + class Ipset(object): ipset="/usr/sbin/ipset" def __init__(self,set,type,typeopt=''): self.set=set self.type=type - self.typeoption=typeopt - + self.typeopt=typeopt + def call(self,cmd,arg=''): """Appel système à ipset""" - cmd_line="%s %s %s %s" % (ipset,cmd,self.set,arg) + cmd_line="%s %s %s %s" % (self.ipset,cmd,self.set,arg) syslog.syslog(syslog.LOG_INFO,"ipset: %s, %s" % (self.set,arg)) status,output=commands.getstatusoutput(cmd_line) if status: raise IpsetError(cmd_line,status,output) return output - + def create(self,opt=''): self.call("-N","%s %s" % (self.type, self.typeopt)) def add(self,arg): self.call("-A",arg) - + def list(self): output=self.call("-L").splitlines() list=[] @@ -67,12 +67,15 @@ class Ipset(object): break list.append(line) return list - + def delete(self,ip): """Delete an IP""" self.call("-D",ip) - + def flush(self): self.call("-F") - - + + def destroy(self): + self.call("-X") + +