Better errors for certificate expiration/activation checking. cpw.darkrain42.2.6.1

Wed, 22 Jul 2009 04:24:06 +0000

author
Paul Aurich <darkrain42@pidgin.im>
date
Wed, 22 Jul 2009 04:24:06 +0000
branch
cpw.darkrain42.2.6.1
changeset 27932
bd122d5593b4
parent 27931
d6feb0198693
child 27933
9e7789d3a809

Better errors for certificate expiration/activation checking.

libpurple/certificate.c file | annotate | diff | comparison | revisions
--- a/libpurple/certificate.c	Wed Jul 22 04:15:09 2009 +0000
+++ b/libpurple/certificate.c	Wed Jul 22 04:24:06 2009 +0000
@@ -1502,33 +1502,35 @@
 	if (!ret || now > expiration || now < activation) {
 		gchar *secondary;
 
-		if (!ret)
+		if (!ret) {
 			purple_debug_error("certificate/x509/tls_cached",
 					"Failed to get validity times for certificate %s\n",
 					vrq->subject_name);
-		else if (now > expiration)
+			secondary = g_strdup_printf(_("Failed to validate expiration time "
+					"for %s"), vrq->subject_name);
+		} else if (now > expiration) {
 			purple_debug_error("certificate/x509/tls_cached",
 					"Certificate %s expired at %s\n",
 					vrq->subject_name, ctime(&expiration));
-		else
+			secondary = g_strdup_printf(_("The certificate for %s is expired."),
+					vrq->subject_name);
+		} else {
 			purple_debug_error("certificate/x509/tls_cached",
 					"Certificate %s is not yet valid, will be at %s\n",
 					vrq->subject_name, ctime(&activation));
-
-		/* FIXME 2.6.1 */
-		secondary = g_strdup_printf(_("The certificate chain presented"
-					" for %s is not valid."),
-					vrq->subject_name);
+			secondary = g_strdup_printf(_("The certificate for %s should not "
+					"yet be in use."), vrq->subject_name);
+		}
 
 		purple_notify_error(NULL, /* TODO: Probably wrong. */
-					_("SSL Certificate Error"),
-					_("Invalid certificate chain"),
-					secondary );
+				_("SSL Certificate Error"),
+				_("Invalid certificate chain"),
+				secondary );
 		g_free(secondary);
 
 		/* Okay, we're done here */
 		purple_certificate_verify_complete(vrq,
-						    PURPLE_CERTIFICATE_INVALID);
+				PURPLE_CERTIFICATE_INVALID);
 		return;
 	}
 

mercurial