diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-05-03 10:17:18 +0200 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-05-09 12:14:11 +0200 |
commit | a1dfd77a72be0b0ad59121ebb5c27c8b6faa280c (patch) | |
tree | 71eb9106dea04b0f91398c87ba9e20e622b3fd5b | |
parent | c1df57b9955393f7c4ef8b3d145b6fe70d2a1a0f (diff) |
invalid the certificate if its state is invalid
-rw-r--r-- | telepathy-glib/tls-certificate.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/telepathy-glib/tls-certificate.c b/telepathy-glib/tls-certificate.c index b59f0f1c2..cd23e1928 100644 --- a/telepathy-glib/tls-certificate.c +++ b/telepathy-glib/tls-certificate.c @@ -237,9 +237,14 @@ tls_certificate_got_all_cb (TpProxy *proxy, break; default: - /* what does it mean? we just don't know */ - self->priv->state = state; - g_object_notify ((GObject *) self, "state"); + { + GError e = { TP_DBUS_ERRORS, TP_DBUS_ERROR_INCONSISTENT, + "Invalid State" }; + + DEBUG ("Invalid state '%u' on %s", state, + tp_proxy_get_object_path (self)); + tp_proxy_invalidate (proxy, &e); + } } cert_data = tp_asv_get_boxed (properties, "CertificateChainData", @@ -486,7 +491,7 @@ tp_tls_certificate_class_init (TpTLSCertificateClass *klass) */ pspec = g_param_spec_uint ("state", "State", "The state of this certificate.", - 0, G_MAXUINT32, TP_TLS_CERTIFICATE_STATE_PENDING, + 0, TP_NUM_TLS_CERTIFICATE_STATES - 1, TP_TLS_CERTIFICATE_STATE_PENDING, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_property (oclass, PROP_STATE, pspec); |