ssl.h (1411B)
1 /* 2 * Claws Mail -- 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 typedef enum { 24 SSL_NONE, 25 SSL_TUNNEL, 26 SSL_STARTTLS 27 } SSLType; 28 29 #include <glib.h> 30 31 #include <gnutls/gnutls.h> 32 #include <gnutls/x509.h> 33 #include <gnutls/abstract.h> 34 35 #include "socket.h" 36 37 void ssl_init (void); 38 void ssl_done (void); 39 gboolean ssl_init_socket (SockInfo *sockinfo); 40 void ssl_done_socket (SockInfo *sockinfo); 41 42 typedef struct _SSLClientCertHookData SSLClientCertHookData; 43 struct _SSLClientCertHookData 44 { 45 const void *account; 46 const gchar *cert_path; 47 gchar *password; 48 gboolean is_smtp; 49 }; 50 51 const gchar *claws_ssl_get_cert_file(void); 52 53 #endif /* __SSL_H__ */