[telepathy-butterfly/master] Fix bug 24562: Correctly report the SECRET flag on secret arguments. Also fix a typo where the dbus signature was reported as the parameter name

Youness Alaoui youness.alaoui at collabora.co.uk
Mon Oct 26 10:31:45 PDT 2009


---
 butterfly/connection.py         |    5 +++++
 butterfly/connection_manager.py |   22 ++++++++++++----------
 data/butterfly.manager          |    6 +++---
 3 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/butterfly/connection.py b/butterfly/connection.py
index 6fd4903..32e2428 100644
--- a/butterfly/connection.py
+++ b/butterfly/connection.py
@@ -49,6 +49,11 @@ class ButterflyConnection(telepathy.server.Connection,
         papyon.event.InviteEventInterface,
         papyon.event.OfflineMessagesEventInterface):
 
+    _secret_parameters = [
+            'password',
+            'http-proxy-password',
+            'https-proxy-password'
+            ]
     _mandatory_parameters = {
             'account' : 's',
             'password' : 's'
diff --git a/butterfly/connection_manager.py b/butterfly/connection_manager.py
index e637669..e0340bf 100644
--- a/butterfly/connection_manager.py
+++ b/butterfly/connection_manager.py
@@ -48,25 +48,27 @@ class ButterflyConnectionManager(telepathy.server.ConnectionManager):
 
         result = []
         connection_class = self._protos[proto]
+        secret_parameters = connection_class._secret_parameters
         mandatory_parameters = connection_class._mandatory_parameters
         optional_parameters = connection_class._optional_parameters
         default_parameters = connection_class._parameter_defaults
 
         for parameter_name, parameter_type in mandatory_parameters.iteritems():
-            param = (parameter_name,
-                    telepathy.CONN_MGR_PARAM_FLAG_REQUIRED,
-                    parameter_type,
-                    '')
+            flags = telepathy.CONN_MGR_PARAM_FLAG_REQUIRED
+            if parameter_name in secret_parameters:
+                flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
+            param = (parameter_name, flags,  parameter_type, '')
             result.append(param)
 
         for parameter_name, parameter_type in optional_parameters.iteritems():
+            flags = 0
+            default = ''
+            if parameter_name in secret_parameters:
+                flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
             if parameter_name in default_parameters:
-                param = (parameter_name,
-                        telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT,
-                        parameter_name,
-                        default_parameters[parameter_name])
-            else:
-                param = (parameter_name, 0, parameter_name, '')
+                flags |= telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT
+                default = default_parameters[parameter_name]
+            param = (parameter_name, flags, parameter_type, default)
             result.append(param)
 
         return result
diff --git a/data/butterfly.manager b/data/butterfly.manager
index 5d42219..68eb6fb 100644
--- a/data/butterfly.manager
+++ b/data/butterfly.manager
@@ -5,16 +5,16 @@ ObjectPath = /org/freedesktop/Telepathy/ConnectionManager/butterfly
 
 [Protocol msn]
 param-account = s required
-param-password = s required
+param-password = s required secret
 param-server = s
 param-port = q
 param-http-proxy-server = s
 param-http-proxy-port = q
 param-http-proxy-username = s
-param-http-proxy-password = s
+param-http-proxy-password = s secret
 param-https-proxy-server = s
 param-https-proxy-port = q
 param-https-proxy-username = s
-param-https-proxy-password = s
+param-https-proxy-password = s secret
 default-server = messenger.hotmail.com
 default-port = 1863
-- 
1.5.6.5




More information about the telepathy-commits mailing list