---
test/simple-agent | 61 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/test/simple-agent b/test/simple-agent
index b0990de..cda9693 100755
--- a/test/simple-agent
+++ b/test/simple-agent
@@ -14,6 +14,8 @@ class Agent(dbus.service.Object):
identity = None
passphrase = None
wpspin = None
+ username = None
+ password = None
@dbus.service.method("net.connman.Agent",
in_signature='', out_signature='')
@@ -21,12 +23,7 @@ class Agent(dbus.service.Object):
print("Release")
mainloop.quit()
- @dbus.service.method("net.connman.Agent",
- in_signature='oa{sv}',
- out_signature='a{sv}')
- def RequestInput(self, path, fields):
- print "RequestInput (%s,%s)" % (path, fields)
-
+ def input_passphrase(self):
response = {}
if not self.identity and not self.passphrase and not
self.wpspin:
@@ -53,6 +50,46 @@ class Agent(dbus.service.Object):
if self.wpspin:
response["WPS"] = self.wpspin
+ return response
+
+ def input_username(self):
+ response = {}
+
+ if not self.username and not self.password:
+ args = raw_input('Answer: ')
+
+ for arg in args.split():
+ if arg.startswith("Username="):
+ username = arg.replace("Username=", "",
1)
+ response["Username"] = username
+ break
+ if arg.startswith("Password="):
+ password = arg.replace("Password=", "",
1)
+ response["Password"] = password
+ break
+ else:
+ if self.username:
+ response["Username"] = self.username
+ if self.password:
+ response["Password"] = self.password
+
+ return response
+
+ @dbus.service.method("net.connman.Agent",
+ in_signature='oa{sv}',
+ out_signature='a{sv}')
+ def RequestInput(self, path, fields):
+ print "RequestInput (%s,%s)" % (path, fields)
+
+ response = None
+
+ if fields.has_key("Passphrase"):
+ response = self.input_passphrase()
+ elif fields.has_key("Username"):
+ response = self.input_username()
+ else:
+ print "No method to answer the input request"
+
print "returning (%s)" % (response)
return response
@@ -78,8 +115,12 @@ class Agent(dbus.service.Object):
print "Cancel"
def print_usage():
- print "Usage: %s Identity=<identity> Passphrase=<passphrase>
WPS=<wpspin>" % (sys.argv[0])
- print "Help: %s help" % (sys.ar[0])
+ print "Usage:"
+ print "For EAP/WPA input:"
+ print "%s Identity=<identity> Passphrase=<passphrase> WPS=<wpspin>" %
(sys.argv[0])
+ print "For WISPr login input:"
+ print "%s Username=<username> Password=<password>" % (sys.argv[0])
+ print "Help: %s help" % (sys.argv[0])
sys.exit(1)
if __name__ == '__main__':
@@ -103,6 +144,10 @@ if __name__ == '__main__':
object.passphrase = arg.replace("Passphrase=",
"", 1)
elif arg.startswith("WPS="):
object.wpspin = arg.replace("WPS=", "", 1)
+ elif arg.startswith("Username="):
+ object.username = arg.replace("Username=", "",
1)
+ elif arg.startswith("Password="):
+ object.password = arg.replace("Password=", "",
1)
else:
print_usage()
--
1.7.3.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman