Coverage Report

Created: 2023-03-26 08:33

/src/wget_deps/include/gnutls/compat.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2008-2012 Free Software Foundation, Inc.
3
 *
4
 * Author: Nikos Mavrogiannopoulos
5
 *
6
 * This file is part of GnuTLS.
7
 *
8
 * The GnuTLS is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU Lesser General Public License
10
 * as published by the Free Software Foundation; either version 2.1 of
11
 * the License, or (at your option) any later version.
12
 *
13
 * This library is distributed in the hope that it will be useful, but
14
 * WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
 * Lesser General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU Lesser General Public License
19
 * along with this program.  If not, see <https://www.gnu.org/licenses/>
20
 *
21
 */
22
23
/* Typedefs for more compatibility with older GnuTLS. */
24
25
#ifndef GNUTLS_COMPAT_H
26
# define GNUTLS_COMPAT_H
27
28
/* *INDENT-OFF* */
29
#ifdef __cplusplus
30
extern "C" {
31
#endif
32
/* *INDENT-ON* */
33
34
# ifdef __GNUC__
35
36
#  define _GNUTLS_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
37
38
#  if !defined GNUTLS_INTERNAL_BUILD
39
#   if _GNUTLS_GCC_VERSION >= 30100
40
#    define _GNUTLS_GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__))
41
#   endif
42
#  endif
43
44
# endif       /* __GNUC__ */
45
46
# ifndef _GNUTLS_GCC_ATTR_DEPRECATED
47
#  define _GNUTLS_GCC_ATTR_DEPRECATED
48
# endif
49
50
/* gnutls_connection_end_t was made redundant in 2.99.0 */
51
typedef unsigned int gnutls_connection_end_t _GNUTLS_GCC_ATTR_DEPRECATED;
52
53
/* Stuff deprecated in 2.x */
54
typedef gnutls_cipher_algorithm_t gnutls_cipher_algorithm
55
    _GNUTLS_GCC_ATTR_DEPRECATED;
56
typedef gnutls_kx_algorithm_t gnutls_kx_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
57
typedef gnutls_mac_algorithm_t gnutls_mac_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
58
typedef gnutls_digest_algorithm_t gnutls_digest_algorithm
59
    _GNUTLS_GCC_ATTR_DEPRECATED;
60
typedef gnutls_compression_method_t gnutls_compression_method
61
    _GNUTLS_GCC_ATTR_DEPRECATED;
62
typedef gnutls_connection_end_t gnutls_connection_end
63
    _GNUTLS_GCC_ATTR_DEPRECATED;
64
typedef gnutls_x509_crt_fmt_t gnutls_x509_crt_fmt _GNUTLS_GCC_ATTR_DEPRECATED;
65
typedef gnutls_pk_algorithm_t gnutls_pk_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
66
typedef gnutls_sign_algorithm_t gnutls_sign_algorithm
67
    _GNUTLS_GCC_ATTR_DEPRECATED;
68
typedef gnutls_close_request_t gnutls_close_request _GNUTLS_GCC_ATTR_DEPRECATED;
69
typedef gnutls_certificate_request_t gnutls_certificate_request
70
    _GNUTLS_GCC_ATTR_DEPRECATED;
71
typedef gnutls_certificate_status_t gnutls_certificate_status
72
    _GNUTLS_GCC_ATTR_DEPRECATED;
73
typedef gnutls_session_t gnutls_session _GNUTLS_GCC_ATTR_DEPRECATED;
74
typedef gnutls_alert_level_t gnutls_alert_level _GNUTLS_GCC_ATTR_DEPRECATED;
75
typedef gnutls_alert_description_t gnutls_alert_description
76
    _GNUTLS_GCC_ATTR_DEPRECATED;
77
typedef gnutls_x509_subject_alt_name_t gnutls_x509_subject_alt_name
78
    _GNUTLS_GCC_ATTR_DEPRECATED;
79
typedef gnutls_openpgp_privkey_t gnutls_openpgp_privkey
80
    _GNUTLS_GCC_ATTR_DEPRECATED;
81
typedef gnutls_openpgp_keyring_t gnutls_openpgp_keyring
82
    _GNUTLS_GCC_ATTR_DEPRECATED;
83
typedef gnutls_x509_crt_t gnutls_x509_crt _GNUTLS_GCC_ATTR_DEPRECATED;
84
typedef gnutls_x509_privkey_t gnutls_x509_privkey _GNUTLS_GCC_ATTR_DEPRECATED;
85
typedef gnutls_x509_crl_t gnutls_x509_crl _GNUTLS_GCC_ATTR_DEPRECATED;
86
typedef gnutls_x509_crq_t gnutls_x509_crq _GNUTLS_GCC_ATTR_DEPRECATED;
87
typedef gnutls_certificate_credentials_t
88
    gnutls_certificate_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
89
typedef gnutls_anon_server_credentials_t
90
    gnutls_anon_server_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
91
typedef gnutls_anon_client_credentials_t
92
    gnutls_anon_client_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
93
typedef gnutls_srp_client_credentials_t
94
    gnutls_srp_client_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
95
typedef gnutls_srp_server_credentials_t
96
    gnutls_srp_server_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
97
typedef gnutls_dh_params_t gnutls_dh_params _GNUTLS_GCC_ATTR_DEPRECATED;
98
typedef gnutls_rsa_params_t gnutls_rsa_params _GNUTLS_GCC_ATTR_DEPRECATED;
99
typedef gnutls_params_type_t gnutls_params_type _GNUTLS_GCC_ATTR_DEPRECATED;
100
typedef gnutls_credentials_type_t gnutls_credentials_type
101
    _GNUTLS_GCC_ATTR_DEPRECATED;
102
typedef gnutls_certificate_type_t gnutls_certificate_type
103
    _GNUTLS_GCC_ATTR_DEPRECATED;
104
typedef gnutls_datum_t gnutls_datum _GNUTLS_GCC_ATTR_DEPRECATED;
105
typedef gnutls_transport_ptr_t gnutls_transport_ptr _GNUTLS_GCC_ATTR_DEPRECATED;
106
107
/* Old verification flags */
108
0
# define GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT  (0)
109
110
/* Old SRP alerts removed in 2.1.x because the TLS-SRP RFC was
111
   modified to use the PSK alert. */
112
# define GNUTLS_A_MISSING_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
113
# define GNUTLS_A_UNKNOWN_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
114
115
/* OpenPGP stuff renamed in 2.1.x. */
116
# define GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT
117
# define GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT
118
# define gnutls_openpgp_send_key gnutls_openpgp_send_cert
119
typedef gnutls_openpgp_crt_status_t gnutls_openpgp_key_status_t
120
    _GNUTLS_GCC_ATTR_DEPRECATED;
121
typedef gnutls_openpgp_crt_t gnutls_openpgp_key_t _GNUTLS_GCC_ATTR_DEPRECATED;
122
# define gnutls_openpgp_key_init gnutls_openpgp_crt_init
123
# define gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit
124
# define gnutls_openpgp_key_import gnutls_openpgp_crt_import
125
# define gnutls_openpgp_key_export gnutls_openpgp_crt_export
126
# define gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage
127
# define gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint
128
# define gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm
129
# define gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name
130
# define gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version
131
# define gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time
132
# define gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time
133
# define gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id
134
# define gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname
135
136
/* OpenPGP stuff renamed in 2.3.x. */
137
# define gnutls_openpgp_crt_get_id gnutls_openpgp_crt_get_key_id
138
139
/* New better names renamed in 2.3.x, add these for backwards
140
   compatibility with old poor names.*/
141
# define GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
142
# define GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
143
# define GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
144
145
/* Namespace problems. */
146
# define LIBGNUTLS_VERSION GNUTLS_VERSION
147
# define LIBGNUTLS_VERSION_MAJOR GNUTLS_VERSION_MAJOR
148
# define LIBGNUTLS_VERSION_MINOR GNUTLS_VERSION_MINOR
149
# define LIBGNUTLS_VERSION_PATCH GNUTLS_VERSION_PATCH
150
# define LIBGNUTLS_VERSION_NUMBER GNUTLS_VERSION_NUMBER
151
# define LIBGNUTLS_EXTRA_VERSION GNUTLS_VERSION
152
153
/* This is a very dangerous and error-prone function.
154
 * Use gnutls_privkey_sign_hash() instead.
155
 */
156
int gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
157
          const gnutls_datum_t * hash,
158
          gnutls_datum_t * signature)
159
    _GNUTLS_GCC_ATTR_DEPRECATED;
160
161
int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key,
162
             const gnutls_datum_t * hash,
163
             gnutls_datum_t * signature)
164
    _GNUTLS_GCC_ATTR_DEPRECATED;
165
166
  /* gnutls_pubkey_get_preferred_hash_algorithm() */
167
int gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t
168
             crt,
169
             gnutls_digest_algorithm_t
170
             * hash, unsigned int
171
             *mand)
172
    _GNUTLS_GCC_ATTR_DEPRECATED;
173
174
  /* use gnutls_privkey_sign_hash() with the GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA flag */
175
176
# ifdef _ISOC99_SOURCE
177
/* we provide older functions for compatibility as inline functions that
178
 * depend on gnutls_session_get_random. */
179
180
static inline const void
181
*gnutls_session_get_server_random(gnutls_session_t session)
182
    _GNUTLS_GCC_ATTR_DEPRECATED;
183
static inline const void
184
*gnutls_session_get_server_random(gnutls_session_t session)
185
0
{
186
0
  gnutls_datum_t rnd;
187
0
  gnutls_session_get_random(session, NULL, &rnd); /*doc-skip */
188
0
  return rnd.data;
189
0
}
190
191
static inline const void
192
*gnutls_session_get_client_random(gnutls_session_t session)
193
    _GNUTLS_GCC_ATTR_DEPRECATED;
194
static inline const void
195
*gnutls_session_get_client_random(gnutls_session_t session)
196
0
{
197
0
  gnutls_datum_t rnd;
198
0
  gnutls_session_get_random(session, &rnd, NULL); /*doc-skip */
199
0
  return rnd.data;
200
0
}
201
# endif
202
203
void
204
gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,
205
        gnutls_alloc_function secure_alloc_func,
206
        gnutls_is_secure_function is_secure_func,
207
        gnutls_realloc_function realloc_func,
208
        gnutls_free_function free_func)
209
_GNUTLS_GCC_ATTR_DEPRECATED;
210
211
/* defined in old headers - unused nevertheless */
212
# define GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA 0
213
214
/* old compression related functions */
215
gnutls_compression_method_t
216
gnutls_compression_get(gnutls_session_t session) _GNUTLS_GCC_ATTR_DEPRECATED;
217
218
const char *gnutls_compression_get_name(gnutls_compression_method_t algorithm)
219
__GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
220
221
gnutls_compression_method_t gnutls_compression_get_id(const char *name)
222
__GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
223
224
const gnutls_compression_method_t *gnutls_compression_list(void)
225
__GNUTLS_PURE__ _GNUTLS_GCC_ATTR_DEPRECATED;
226
227
int gnutls_priority_compression_list(gnutls_priority_t pcache,
228
             const unsigned int **list)
229
    _GNUTLS_GCC_ATTR_DEPRECATED;
230
231
/* *INDENT-OFF* */
232
#ifdef __cplusplus
233
}
234
#endif
235
/* *INDENT-ON* */
236
237
#endif        /* GNUTLS_COMPAT_H */