set-ipv6-method: The arguments have to be wrapped into a variant
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Mon, 19 Mar 2012 13:03:28 +0000 (14:03 +0100)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 20 Mar 2012 10:17:35 +0000 (12:17 +0200)
Fixes BMC#24986

test/set-ipv6-method

index 7f60b88..4f2de09 100755 (executable)
@@ -3,6 +3,9 @@
 import sys
 import dbus
 
+def make_variant(string):
+       return dbus.String(string, variant_level=1)
+
 def print_usage():
        print "Usage: %s <service> off|manual|auto [<address> [prefixlen] [gateway]] [<privacy>]" % (sys.argv[0])
 
@@ -19,17 +22,17 @@ properties = service.GetProperties()
 
 print "Setting method %s for %s" % (sys.argv[2], sys.argv[1])
 
-ipv6_configuration = { "Method": sys.argv[2] }
+ipv6_configuration = { "Method": make_variant(sys.argv[2])}
 if sys.argv[2] == "auto":
        if (len(sys.argv) > 3):
-               ipv6_configuration["Privacy"] = sys.argv[3]
+               ipv6_configuration["Privacy"] = make_variant(sys.argv[3])
 else:
        if (len(sys.argv) > 3):
-               ipv6_configuration["Address"] = sys.argv[3]
+               ipv6_configuration["Address"] = make_variant(sys.argv[3])
        if (len(sys.argv) > 4):
-               ipv6_configuration["PrefixLength"] = sys.argv[4]
+               ipv6_configuration["PrefixLength"] = make_variant(sys.argv[4])
        if (len(sys.argv) > 5):
-               ipv6_configuration["Gateway"] = sys.argv[5]
+               ipv6_configuration["Gateway"] = make_variant(sys.argv[5])
 
 service.SetProperty("IPv6.Configuration", ipv6_configuration)
 print "New IPv6.Configuration: ", ipv6_configuration