# HG changeset patch # User William Ehlhardt # Date 1182269253 0 # Node ID 33690062e8b399062cbf4c87aca0ea1542824b1f # Parent 80c909c5bb7a01084c74ecda426dae83d2465fcd - Expose get_peer_certificates in the SslOps struct, and modify gnutls plugin to suit it diff -r 80c909c5bb7a -r 33690062e8b3 libpurple/plugins/ssl/ssl-gnutls.c --- 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 }; diff -r 80c909c5bb7a -r 33690062e8b3 libpurple/sslconn.h --- 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);