summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2009-10-15 20:41:09 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2009-10-15 20:41:09 +0100
commitee8dfa0b845c8565ba48ac4eb3b58e25195f9b82 (patch)
tree5ab982b08629c7a43bf105b30283c2a5617f1ceb
parent7562787ef495267c3728bd758f6bcb3d1ad81aef (diff)
fd.o #24560: flag all passwords, and silc's private-key, as secret
-rw-r--r--data/haze.manager30
-rw-r--r--src/connection-manager.c9
2 files changed, 22 insertions, 17 deletions
diff --git a/data/haze.manager b/data/haze.manager
index 309775d..faec90f 100644
--- a/data/haze.manager
+++ b/data/haze.manager
@@ -4,7 +4,7 @@ ObjectPath=/org/freedesktop/Telepathy/ConnectionManager/haze
[Protocol aim]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-use-ssl=b
@@ -18,20 +18,20 @@ default-allow-multiple-logins=true
[Protocol gadugadu]
param-account=s required
-param-password=s required
+param-password=s required secret
param-nick=s
default-nick=Gadu-Gadu User
[Protocol groupwise]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
default-port=8300
[Protocol icq]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-use-ssl=b
@@ -47,7 +47,7 @@ default-charset=UTF-8
[Protocol irc]
param-account=s required
-param-password=s
+param-password=s secret
param-port=i
param-charset=s
param-autodetect-utf8=b
@@ -61,7 +61,7 @@ default-ssl=false
[Protocol jabber]
param-account=s required
-param-password=s required
+param-password=s required secret
param-require-encryption=b
param-old-ssl=b
param-auth-plain-in-clear=b
@@ -88,7 +88,7 @@ default-port=5298
[Protocol msn]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-http-method=b
@@ -102,7 +102,7 @@ default-custom-smileys=true
[Protocol myspace]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
default-server=im.myspace.akadns.net
@@ -110,7 +110,7 @@ default-port=1863
[Protocol qq]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-client-version=s
param-use-tcp=b
@@ -130,7 +130,7 @@ default-update-interval=300
[Protocol sametime]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-force-login=b
@@ -141,11 +141,11 @@ default-fake-client-id=false
[Protocol silc]
param-account=s required
-param-password=s
+param-password=s secret
param-server=s
param-port=i
param-public-key=s
-param-private-key=s
+param-private-key=s secret
param-cipher=s
param-hmac=s
param-pfs=b
@@ -167,7 +167,7 @@ default-sign-verify=false
[Protocol simple]
param-account=s required
-param-password=s required
+param-password=s required secret
param-dopublish=b
param-port=i
param-udp=b
@@ -182,7 +182,7 @@ default-useproxy=false
[Protocol yahoo]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-xfer-host=s
@@ -200,7 +200,7 @@ default-charset=UTF-8
[Protocol yahoojp]
param-account=s required
-param-password=s required
+param-password=s required secret
param-server=s
param-port=i
param-xfer-host=s
diff --git a/src/connection-manager.c b/src/connection-manager.c
index bccdfba..443d3b2 100644
--- a/src/connection-manager.c
+++ b/src/connection-manager.c
@@ -265,6 +265,10 @@ _translate_protocol_option (PurpleAccountOption *option,
if (g_str_equal (paramspec->name, "server"))
paramspec->filter = _param_filter_no_blanks;
+ /* are there other non-password secrets? */
+ if (g_str_equal (paramspec->name, "private-key"))
+ paramspec->flags |= TP_CONN_MGR_PARAM_FLAG_SECRET;
+
return TRUE;
}
@@ -280,7 +284,8 @@ _build_paramspecs (HazeProtocolInfo *hpi)
(gpointer) "account", NULL };
TpCMParamSpec password_spec =
{ "password", DBUS_TYPE_STRING_AS_STRING, G_TYPE_STRING,
- TP_CONN_MGR_PARAM_FLAG_REQUIRED, NULL, 0, NULL, NULL,
+ TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_SECRET,
+ NULL, 0, NULL, NULL,
(gpointer) "password", NULL };
GArray *paramspecs = g_array_new (TRUE, TRUE, sizeof (TpCMParamSpec));
@@ -308,7 +313,7 @@ _build_paramspecs (HazeProtocolInfo *hpi)
if (!(hpi->prpl_info->options & OPT_PROTO_NO_PASSWORD))
{
if (hpi->prpl_info->options & OPT_PROTO_PASSWORD_OPTIONAL)
- password_spec.flags = 0;
+ password_spec.flags &= ~TP_CONN_MGR_PARAM_FLAG_REQUIRED;
g_array_append_val (paramspecs, password_spec);
}