changeset 18187:33690062e8b3

- Expose get_peer_certificates in the SslOps struct, and modify gnutls plugin to suit it
author William Ehlhardt <williamehlhardt@gmail.com>
date Tue, 19 Jun 2007 16:07:33 +0000
parents 80c909c5bb7a
children e6271671eb24
files libpurple/plugins/ssl/ssl-gnutls.c libpurple/sslconn.h
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/plugins/ssl/ssl-gnutls.c	Tue Jun 19 15:33:56 2007 +0000
+++ b/libpurple/plugins/ssl/ssl-gnutls.c	Tue Jun 19 16:07:33 2007 +0000
@@ -466,11 +466,11 @@
 	ssl_gnutls_close,
 	ssl_gnutls_read,
 	ssl_gnutls_write,
+	ssl_gnutls_get_peer_certificates,
 
 	/* padding */
 	NULL,
 	NULL,
-	NULL,
 	NULL
 };
 
--- a/libpurple/sslconn.h	Tue Jun 19 15:33:56 2007 +0000
+++ b/libpurple/sslconn.h	Tue Jun 19 16:07:33 2007 +0000
@@ -107,8 +107,16 @@
 	* @return	The number of bytes written (may be less than len) or <0 on error
 	*/
 	size_t (*write)(PurpleSslConnection *gsc, const void *data, size_t len);
-
-	void (*_purple_reserved1)(void);
+	/** Obtains the certificate chain provided by the peer
+	 *
+	 * @param gsc   Connection context
+	 * @return      A newly allocated list containing the certificates
+	 *              the peer provided.
+	 * @todo        Decide whether the ordering of certificates in this
+	 *              list can be guaranteed.
+	 */
+	GList * (* get_peer_certificates)(PurpleSslConnection * gsc);
+	
 	void (*_purple_reserved2)(void);
 	void (*_purple_reserved3)(void);
 	void (*_purple_reserved4)(void);