| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 import pprint, sys | 3 import pprint, sys |
| 4 import dbus, flimflam | 4 import dbus, flimflam |
| 5 | 5 |
| 6 if (len(sys.argv) < 2): | 6 if (len(sys.argv) < 2): |
| 7 print "Usage: %s <type> <name> <host> <domain> [optional args] " % (sys.argv
[0]) | 7 print "Usage: %s <type> <name> <host> <domain> [optional args] " % (sys.argv
[0]) |
| 8 print " where <type> is one of: openvpn" | 8 print " where <type> is one of: l2tpipsec openvpn" |
| 9 sys.exit(1) | 9 sys.exit(1) |
| 10 | 10 |
| 11 params = { | 11 params = { |
| 12 "Type" : sys.argv[1], | 12 "Type" : sys.argv[1], |
| 13 "Name" : sys.argv[2], | 13 "Name" : sys.argv[2], |
| 14 "Host" : sys.argv[3], | 14 "Host" : sys.argv[3], |
| 15 "VPN.Domain": sys.argv[4], | 15 "VPN.Domain": sys.argv[4], |
| 16 } | 16 } |
| 17 if params["Type"] == "openvpn": | 17 if params["Type"] == "openvpn": |
| 18 if (len(sys.argv) < 7): | 18 if (len(sys.argv) < 7): |
| 19 print "Usage: %s openvpn <name> <host> <domain> <cafile> <certfile>" \ | 19 print "Usage: %s openvpn <name> <host> <domain> <cafile> <certfile>" \ |
| 20 " <keyfile>" % (sys.argv[0]) | 20 " <keyfile>" % (sys.argv[0]) |
| 21 sys.exit(1) | 21 sys.exit(1) |
| 22 params["OpenVPN.CACert"] = sys.argv[5] | 22 params["OpenVPN.CACert"] = sys.argv[5] |
| 23 params["OpenVPN.Cert"] = sys.argv[6] | 23 params["OpenVPN.Cert"] = sys.argv[6] |
| 24 params["OpenVPN.Key"] = sys.argv[7] | 24 params["OpenVPN.Key"] = sys.argv[7] |
| 25 # Enable this by default since openvpn's example server configs enable it. | 25 # Enable this by default since openvpn's example server configs enable it. |
| 26 params["OpenVPN.CompLZO"] = "true" | 26 params["OpenVPN.CompLZO"] = "true" |
| 27 elif params["Type"] == "l2tpipsec": |
| 28 if (len(sys.argv) < 9): |
| 29 print "Usage: %s l2tpipsec <name> <host> <domain> <cafile> <certfile>" \ |
| 30 " <keyfile> <pskfile> <user> <password>" % (sys.argv[0]) |
| 31 sys.exit(1) |
| 32 params["L2TPIPsec.CACert"] = sys.argv[5] |
| 33 params["L2TPIPsec.Cert"] = sys.argv[6] |
| 34 params["L2TPIPsec.Key"] = sys.argv[7] |
| 35 params["L2TPIPsec.PSK"] = sys.argv[8] |
| 36 params["L2TPIPsec.User"] = sys.argv[9] |
| 37 params["L2TPIPsec.Password"] = sys.argv[10] |
| 27 else: | 38 else: |
| 28 print "Unknown VPN type" | 39 print "Unknown VPN type" |
| 29 sys.exit(1) | 40 sys.exit(1) |
| 30 | 41 |
| 31 flim = flimflam.FlimFlam(dbus.SystemBus()) | 42 flim = flimflam.FlimFlam(dbus.SystemBus()) |
| 32 | 43 |
| 33 service = flim.GetVPNService(params) | 44 service = flim.GetVPNService(params) |
| 34 print "VPN is %s, connecting..." % service.object_path | 45 print "VPN is %s, connecting..." % service.object_path |
| 35 | 46 |
| 36 (success, diagnostics) = flim.ConnectService(service_type='vpn', | 47 (success, diagnostics) = flim.ConnectService(service_type='vpn', |
| 37 service=service) | 48 service=service) |
| 38 | 49 |
| 39 print 'Success:', success | 50 print 'Success:', success |
| 40 pprint.pprint(diagnostics) | 51 pprint.pprint(diagnostics) |
| OLD | NEW |