[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