1 /* 2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client 3 * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef __SSL_H__ 21 #define __SSL_H__ 22 23 #ifdef HAVE_CONFIG_H 24 #include "claws-features.h" 25 #endif 26 27 typedef enum { 28 SSL_NONE, 29 SSL_TUNNEL, 30 SSL_STARTTLS 31 } SSLType; 32 33 #ifdef USE_GNUTLS 34 #include <glib.h> 35 36 #include <gnutls/gnutls.h> 37 #include <gnutls/x509.h> 38 #if GNUTLS_VERSION_NUMBER >= 0x030000 39 #include <gnutls/abstract.h> 40 #endif 41 42 #include "socket.h" 43 44 void ssl_init (void); 45 void ssl_done (void); 46 gboolean ssl_init_socket (SockInfo *sockinfo); 47 void ssl_done_socket (SockInfo *sockinfo); 48 49 typedef struct _SSLClientCertHookData SSLClientCertHookData; 50 struct _SSLClientCertHookData 51 { 52 const void *account; 53 const gchar *cert_path; 54 gchar *password; 55 gboolean is_smtp; 56 }; 57 58 const gchar *claws_ssl_get_cert_file(void); 59 #endif /* USE_GNUTLS */ 60 61 #endif /* __SSL_H__ */ 62