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

test/set-ipv4-method

index 820b24b..235113f 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|dhcp|manual <address> [netmask] [gateway]]" % (sys.argv[0])
 
@@ -20,13 +23,13 @@ properties = service.GetProperties()
 
 print "Setting method %s for %s" % (sys.argv[2], sys.argv[1])
 
-ipv4_configuration = { "Method": sys.argv[2] }
+ipv4_configuration = { "Method": make_variant(sys.argv[2]) }
 if (len(sys.argv) > 3):
-       ipv4_configuration["Address"] = sys.argv[3]
+       ipv4_configuration["Address"] = make_variant(sys.argv[3])
 if (len(sys.argv) > 4):
-       ipv4_configuration["Netmask"] = sys.argv[4]
+       ipv4_configuration["Netmask"] = make_variant(sys.argv[4])
 if (len(sys.argv) > 5):
-        ipv4_configuration["Gateway"] = sys.argv[5]
+        ipv4_configuration["Gateway"] = make_variant(sys.argv[5])
 
 service.SetProperty("IPv4.Configuration", ipv4_configuration)
 print "New IPv4.Configuration: ", ipv4_configuration