ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/tls_gnutls.h
Revision: 7105
Committed: Sat Jan 23 20:11:27 2016 UTC (9 years, 7 months ago) by michael
Content type: text/x-chdr
File size: 1612 byte(s)
Log Message:
- Incorporate gnutls support by Adam & Attila

File Contents

# User Rev Content
1 michael 7105 /*
2     * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3     *
4     * Copyright (c) 2015-2016 ircd-hybrid development team
5     *
6     * This program is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU General Public License as published by
8     * the Free Software Foundation; either version 2 of the License, or
9     * (at your option) any later version.
10     *
11     * This program is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with this program; if not, write to the Free Software
18     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19     * USA
20     */
21    
22     /*! \file tls_gnutls.h
23     * \brief GnuTLS-specific TLS types
24     * \version $Id$
25     */
26    
27    
28     #ifndef INCLUDED_tls_gnutls_h
29     #define INCLUDED_tls_gnutls_h
30    
31     #if defined(HAVE_LIBGNUTLS) && !defined(HAVE_LIBCRYPTO)
32    
33     #define HAVE_TLS
34     #define HAVE_TLS_GNUTLS
35    
36     #include <gnutls/gnutls.h>
37     #include <gnutls/x509.h>
38    
39     typedef gnutls_digest_algorithm_t tls_md_t;
40     typedef struct gnutls_context * tls_context_t;
41    
42     struct gnutls_context
43     {
44     gnutls_certificate_credentials_t x509_cred;
45     gnutls_priority_t priorities;
46     gnutls_dh_params_t dh_params;
47     unsigned int refs;
48     };
49    
50     typedef struct
51     {
52     gnutls_session_t session;
53     tls_context_t context;
54     } tls_data_t;
55    
56     #endif /* defined(HAVE_LIBGNUTLS) && !defined(HAVE_LIBCRYPTO) */
57     #endif /* INCLUDED_tls_openssl_h */