[next] telepathy-glib: invalid the certificate if its state is invalid

Xavier Claessens xclaesse at kemper.freedesktop.org
Wed May 9 13:10:51 PDT 2012


Module: telepathy-glib
Branch: next
Commit: a1dfd77a72be0b0ad59121ebb5c27c8b6faa280c
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=a1dfd77a72be0b0ad59121ebb5c27c8b6faa280c

Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date:   Thu May  3 10:17:18 2012 +0200

invalid the certificate if its state is invalid

---

 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 b59f0f1..cd23e19 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);
 



More information about the telepathy-commits mailing list