Vici python handling

Aus xinux.net
Zur Navigation springen Zur Suche springen
#!/usr/bin/python
import vici
import socket
import collections
import sys
import getopt

s = socket.socket(socket.AF_UNIX)
s.connect("/var/run/charon.vici")
v = vici.Session(s)

options, argument = getopt.getopt(sys.argv[1:], 't:i:' )
if len(argument) == 0 and len(options) == 0:
  for vpn_conn in v.list_sas():
    for key in vpn_conn:
        try:
          print 'conn:', key
        except:
         pass
else:
   for opt, arg in options:
     if opt in ('-t'):
       conn = arg
       sa = collections.OrderedDict()
       sa['ike'] = conn
       rep = v.terminate(sa)
       rep.next()
       rep.close()
     elif opt in ('-i'):
       conn = arg
       sa = collections.OrderedDict()
       sa['child'] = conn
       rep = v.initiate(sa)
       rep.next()
       rep.close()


#!/usr/bin/python
import vici
import socket
import collections


v = vici.Session()

ver = v.version()
stats = v.stats()
lists = v.list_conns()

def check_dict(**kwargs):
   if kwargs is not None:
     for key, value in kwargs.iteritems():
         if isinstance(value, dict):
            print "=== " + key + " ==="
            check_dict(**value)
            print
         else:
           print "%s == %s" %(key,value)


for conn in v.list_conns():
   for key in conn:
    check_dict(**conn[key])