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 |