Coverage Report

Created: 2023-03-26 07:33

/src/gnutls/lib/cipher_int.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2000-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
#ifndef GNUTLS_LIB_CIPHER_INT_H
24
# define GNUTLS_LIB_CIPHER_INT_H
25
26
# include <gnutls/crypto.h>
27
# include "errors.h"
28
# include <crypto-backend.h>
29
30
extern int crypto_cipher_prio;
31
extern gnutls_crypto_cipher_st _gnutls_cipher_ops;
32
33
typedef int (*cipher_encrypt_func)(void *hd, const void *plaintext,
34
           size_t, void *ciphertext, size_t);
35
typedef int (*cipher_decrypt_func)(void *hd, const void *ciphertext,
36
           size_t, void *plaintext, size_t);
37
typedef int (*aead_cipher_encrypt_func)(void *hd,
38
          const void *nonce, size_t,
39
          const void *auth, size_t,
40
          size_t tag,
41
          const void *plaintext, size_t,
42
          void *ciphertext, size_t);
43
typedef int (*aead_cipher_decrypt_func)(void *hd,
44
          const void *nonce, size_t,
45
          const void *auth, size_t,
46
          size_t tag,
47
          const void *ciphertext, size_t,
48
          void *plaintext, size_t);
49
typedef void (*cipher_deinit_func)(void *hd);
50
51
typedef int (*cipher_auth_func)(void *hd, const void *data, size_t);
52
typedef int (*cipher_setiv_func)(void *hd, const void *iv, size_t);
53
typedef int (*cipher_getiv_func)(void *hd, void *iv, size_t);
54
55
typedef int (*cipher_setkey_func)(void *hd, const void *key, size_t keysize);
56
57
typedef void (*cipher_tag_func)(void *hd, void *tag, size_t);
58
59
typedef struct {
60
  void *handle;
61
  const cipher_entry_st *e;
62
  cipher_encrypt_func encrypt;
63
  cipher_decrypt_func decrypt;
64
  aead_cipher_encrypt_func aead_encrypt;
65
  aead_cipher_decrypt_func aead_decrypt;
66
  cipher_auth_func auth;
67
  cipher_tag_func tag;
68
  cipher_setiv_func setiv;
69
  cipher_getiv_func getiv;
70
  cipher_setkey_func setkey;
71
  cipher_deinit_func deinit;
72
} cipher_hd_st;
73
74
int _gnutls_cipher_init(cipher_hd_st *, const cipher_entry_st * e,
75
      const gnutls_datum_t * key,
76
      const gnutls_datum_t * iv, int enc);
77
78
inline static int _gnutls_cipher_setiv(const cipher_hd_st * handle,
79
               const void *iv, size_t ivlen)
80
0
{
81
0
  return handle->setiv(handle->handle, iv, ivlen);
82
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_setiv
Unexecuted instantiation: crl.c:_gnutls_cipher_setiv
Unexecuted instantiation: crq.c:_gnutls_cipher_setiv
Unexecuted instantiation: dn.c:_gnutls_cipher_setiv
Unexecuted instantiation: extensions.c:_gnutls_cipher_setiv
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_setiv
Unexecuted instantiation: key_decode.c:_gnutls_cipher_setiv
Unexecuted instantiation: key_encode.c:_gnutls_cipher_setiv
Unexecuted instantiation: mpi.c:_gnutls_cipher_setiv
Unexecuted instantiation: ocsp.c:_gnutls_cipher_setiv
Unexecuted instantiation: output.c:_gnutls_cipher_setiv
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_setiv
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_setiv
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_setiv
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_setiv
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_setiv
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_setiv
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_setiv
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_setiv
Unexecuted instantiation: sign.c:_gnutls_cipher_setiv
Unexecuted instantiation: time.c:_gnutls_cipher_setiv
Unexecuted instantiation: tls_features.c:_gnutls_cipher_setiv
Unexecuted instantiation: verify-high.c:_gnutls_cipher_setiv
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_setiv
Unexecuted instantiation: verify.c:_gnutls_cipher_setiv
Unexecuted instantiation: virt-san.c:_gnutls_cipher_setiv
Unexecuted instantiation: x509.c:_gnutls_cipher_setiv
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_setiv
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_setiv
Unexecuted instantiation: x509_write.c:_gnutls_cipher_setiv
Unexecuted instantiation: attributes.c:_gnutls_cipher_setiv
Unexecuted instantiation: email-verify.c:_gnutls_cipher_setiv
Unexecuted instantiation: ip.c:_gnutls_cipher_setiv
Unexecuted instantiation: krb5.c:_gnutls_cipher_setiv
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_setiv
83
84
inline static int _gnutls_cipher_getiv(const cipher_hd_st * handle,
85
               void *iv, size_t ivlen)
86
0
{
87
0
  if (unlikely(handle == NULL || handle->handle == NULL ||
88
0
         handle->getiv == NULL))
89
0
    return GNUTLS_E_INVALID_REQUEST;
90
0
91
0
  return handle->getiv(handle->handle, iv, ivlen);
92
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_getiv
Unexecuted instantiation: crl.c:_gnutls_cipher_getiv
Unexecuted instantiation: crq.c:_gnutls_cipher_getiv
Unexecuted instantiation: dn.c:_gnutls_cipher_getiv
Unexecuted instantiation: extensions.c:_gnutls_cipher_getiv
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_getiv
Unexecuted instantiation: key_decode.c:_gnutls_cipher_getiv
Unexecuted instantiation: key_encode.c:_gnutls_cipher_getiv
Unexecuted instantiation: mpi.c:_gnutls_cipher_getiv
Unexecuted instantiation: ocsp.c:_gnutls_cipher_getiv
Unexecuted instantiation: output.c:_gnutls_cipher_getiv
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_getiv
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_getiv
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_getiv
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_getiv
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_getiv
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_getiv
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_getiv
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_getiv
Unexecuted instantiation: sign.c:_gnutls_cipher_getiv
Unexecuted instantiation: time.c:_gnutls_cipher_getiv
Unexecuted instantiation: tls_features.c:_gnutls_cipher_getiv
Unexecuted instantiation: verify-high.c:_gnutls_cipher_getiv
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_getiv
Unexecuted instantiation: verify.c:_gnutls_cipher_getiv
Unexecuted instantiation: virt-san.c:_gnutls_cipher_getiv
Unexecuted instantiation: x509.c:_gnutls_cipher_getiv
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_getiv
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_getiv
Unexecuted instantiation: x509_write.c:_gnutls_cipher_getiv
Unexecuted instantiation: attributes.c:_gnutls_cipher_getiv
Unexecuted instantiation: email-verify.c:_gnutls_cipher_getiv
Unexecuted instantiation: ip.c:_gnutls_cipher_getiv
Unexecuted instantiation: krb5.c:_gnutls_cipher_getiv
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_getiv
93
94
inline static int _gnutls_cipher_setkey(const cipher_hd_st * handle,
95
          const void *key, size_t keylen)
96
0
{
97
0
  return handle->setkey(handle->handle, key, keylen);
98
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_setkey
Unexecuted instantiation: crl.c:_gnutls_cipher_setkey
Unexecuted instantiation: crq.c:_gnutls_cipher_setkey
Unexecuted instantiation: dn.c:_gnutls_cipher_setkey
Unexecuted instantiation: extensions.c:_gnutls_cipher_setkey
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_setkey
Unexecuted instantiation: key_decode.c:_gnutls_cipher_setkey
Unexecuted instantiation: key_encode.c:_gnutls_cipher_setkey
Unexecuted instantiation: mpi.c:_gnutls_cipher_setkey
Unexecuted instantiation: ocsp.c:_gnutls_cipher_setkey
Unexecuted instantiation: output.c:_gnutls_cipher_setkey
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_setkey
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_setkey
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_setkey
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_setkey
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_setkey
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_setkey
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_setkey
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_setkey
Unexecuted instantiation: sign.c:_gnutls_cipher_setkey
Unexecuted instantiation: time.c:_gnutls_cipher_setkey
Unexecuted instantiation: tls_features.c:_gnutls_cipher_setkey
Unexecuted instantiation: verify-high.c:_gnutls_cipher_setkey
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_setkey
Unexecuted instantiation: verify.c:_gnutls_cipher_setkey
Unexecuted instantiation: virt-san.c:_gnutls_cipher_setkey
Unexecuted instantiation: x509.c:_gnutls_cipher_setkey
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_setkey
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_setkey
Unexecuted instantiation: x509_write.c:_gnutls_cipher_setkey
Unexecuted instantiation: attributes.c:_gnutls_cipher_setkey
Unexecuted instantiation: email-verify.c:_gnutls_cipher_setkey
Unexecuted instantiation: ip.c:_gnutls_cipher_setkey
Unexecuted instantiation: krb5.c:_gnutls_cipher_setkey
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_setkey
99
100
inline static int
101
_gnutls_cipher_encrypt2(const cipher_hd_st * handle, const void *text,
102
      size_t textlen, void *ciphertext, size_t ciphertextlen)
103
0
{
104
0
  if (likely(handle != NULL && handle->handle != NULL)) {
105
0
    if (handle->encrypt == NULL) {
106
0
      return (GNUTLS_E_INVALID_REQUEST);
107
0
    }
108
0
    return handle->encrypt(handle->handle, text, textlen,
109
0
               ciphertext, ciphertextlen);
110
0
  }
111
0
112
0
  return 0;
113
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: crl.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: crq.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: dn.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: extensions.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: key_decode.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: key_encode.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: mpi.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: ocsp.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: output.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: sign.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: time.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: tls_features.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: verify-high.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: verify.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: virt-san.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: x509.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: x509_write.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: attributes.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: email-verify.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: ip.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: krb5.c:_gnutls_cipher_encrypt2
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_encrypt2
114
115
inline static int
116
_gnutls_cipher_decrypt2(const cipher_hd_st * handle,
117
      const void *ciphertext, size_t ciphertextlen,
118
      void *text, size_t textlen)
119
0
{
120
0
  if (likely(handle != NULL && handle->handle != NULL)) {
121
0
    if (handle->decrypt == NULL) {
122
0
      return (GNUTLS_E_INVALID_REQUEST);
123
0
    }
124
0
    return handle->decrypt(handle->handle, ciphertext,
125
0
               ciphertextlen, text, textlen);
126
0
  }
127
0
128
0
  return 0;
129
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: crl.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: crq.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: dn.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: extensions.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: key_decode.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: key_encode.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: mpi.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: ocsp.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: output.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: sign.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: time.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: tls_features.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: verify-high.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: verify.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: virt-san.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: x509.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: x509_write.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: attributes.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: email-verify.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: ip.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: krb5.c:_gnutls_cipher_decrypt2
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_decrypt2
130
131
inline static int
132
_gnutls_aead_cipher_encrypt(const cipher_hd_st * handle,
133
          const void *nonce, size_t nonce_len,
134
          const void *auth, size_t auth_len,
135
          size_t tag,
136
          const void *text, size_t textlen,
137
          void *ciphertext, size_t ciphertextlen)
138
0
{
139
0
  if (likely
140
0
      (handle != NULL && handle->handle != NULL
141
0
       && handle->aead_encrypt != NULL)) {
142
0
    return handle->aead_encrypt(handle->handle, nonce, nonce_len,
143
0
              auth, auth_len, tag, text, textlen,
144
0
              ciphertext, ciphertextlen);
145
0
  }
146
0
147
0
  return GNUTLS_E_INVALID_REQUEST;
148
0
}
Unexecuted instantiation: common.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: crl.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: crq.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: dn.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: extensions.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: hostname-verify.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: key_decode.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: key_encode.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: mpi.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: ocsp.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: output.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: pkcs12.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: pkcs12_bag.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: pkcs12_encr.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: privkey_openssl.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: prov-seed.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: sign.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: time.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: tls_features.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: verify-high.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: verify-high2.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: verify.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: virt-san.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: x509.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: x509_dn.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: x509_ext.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: x509_write.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: attributes.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: email-verify.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: ip.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: krb5.c:_gnutls_aead_cipher_encrypt
Unexecuted instantiation: name_constraints.c:_gnutls_aead_cipher_encrypt
149
150
inline static int
151
_gnutls_aead_cipher_decrypt(const cipher_hd_st * handle,
152
          const void *nonce, size_t nonce_len,
153
          const void *auth, size_t auth_len,
154
          size_t tag,
155
          const void *ciphertext, size_t ciphertextlen,
156
          void *text, size_t textlen)
157
0
{
158
0
  if (likely
159
0
      (handle != NULL && handle->handle != NULL
160
0
       && handle->aead_decrypt != NULL)) {
161
0
    return handle->aead_decrypt(handle->handle, nonce, nonce_len,
162
0
              auth, auth_len, tag, ciphertext,
163
0
              ciphertextlen, text, textlen);
164
0
  }
165
0
166
0
  return GNUTLS_E_INVALID_REQUEST;
167
0
}
Unexecuted instantiation: common.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: crl.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: crq.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: dn.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: extensions.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: hostname-verify.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: key_decode.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: key_encode.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: mpi.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: ocsp.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: output.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: pkcs12.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: pkcs12_bag.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: pkcs12_encr.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: privkey_openssl.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: prov-seed.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: sign.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: time.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: tls_features.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: verify-high.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: verify-high2.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: verify.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: virt-san.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: x509.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: x509_dn.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: x509_ext.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: x509_write.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: attributes.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: email-verify.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: ip.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: krb5.c:_gnutls_aead_cipher_decrypt
Unexecuted instantiation: name_constraints.c:_gnutls_aead_cipher_decrypt
168
169
inline static void _gnutls_cipher_deinit(cipher_hd_st * handle)
170
0
{
171
0
  if (likely(handle != NULL && handle->handle != NULL)) {
172
0
    handle->deinit(handle->handle);
173
0
    handle->handle = NULL;
174
0
  }
175
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_deinit
Unexecuted instantiation: crl.c:_gnutls_cipher_deinit
Unexecuted instantiation: crq.c:_gnutls_cipher_deinit
Unexecuted instantiation: dn.c:_gnutls_cipher_deinit
Unexecuted instantiation: extensions.c:_gnutls_cipher_deinit
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_deinit
Unexecuted instantiation: key_decode.c:_gnutls_cipher_deinit
Unexecuted instantiation: key_encode.c:_gnutls_cipher_deinit
Unexecuted instantiation: mpi.c:_gnutls_cipher_deinit
Unexecuted instantiation: ocsp.c:_gnutls_cipher_deinit
Unexecuted instantiation: output.c:_gnutls_cipher_deinit
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_deinit
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_deinit
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_deinit
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_deinit
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_deinit
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_deinit
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_deinit
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_deinit
Unexecuted instantiation: sign.c:_gnutls_cipher_deinit
Unexecuted instantiation: time.c:_gnutls_cipher_deinit
Unexecuted instantiation: tls_features.c:_gnutls_cipher_deinit
Unexecuted instantiation: verify-high.c:_gnutls_cipher_deinit
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_deinit
Unexecuted instantiation: verify.c:_gnutls_cipher_deinit
Unexecuted instantiation: virt-san.c:_gnutls_cipher_deinit
Unexecuted instantiation: x509.c:_gnutls_cipher_deinit
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_deinit
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_deinit
Unexecuted instantiation: x509_write.c:_gnutls_cipher_deinit
Unexecuted instantiation: attributes.c:_gnutls_cipher_deinit
Unexecuted instantiation: email-verify.c:_gnutls_cipher_deinit
Unexecuted instantiation: ip.c:_gnutls_cipher_deinit
Unexecuted instantiation: krb5.c:_gnutls_cipher_deinit
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_deinit
176
177
int _gnutls_cipher_exists(gnutls_cipher_algorithm_t cipher);
178
179
int _gnutls_cipher_get_iv(gnutls_cipher_hd_t handle, void *iv, size_t ivlen);
180
181
int _gnutls_cipher_set_key(gnutls_cipher_hd_t handle, void *key, size_t keylen);
182
183
# define _gnutls_cipher_is_aead(h) _gnutls_cipher_algo_is_aead((h)->e)
184
185
/* returns the tag in AUTHENC ciphers */
186
inline static void _gnutls_cipher_tag(const cipher_hd_st * handle,
187
              void *tag, size_t tag_size)
188
0
{
189
0
  if (likely(handle != NULL && handle->handle != NULL)) {
190
0
    handle->tag(handle->handle, tag, tag_size);
191
0
  }
192
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_tag
Unexecuted instantiation: crl.c:_gnutls_cipher_tag
Unexecuted instantiation: crq.c:_gnutls_cipher_tag
Unexecuted instantiation: dn.c:_gnutls_cipher_tag
Unexecuted instantiation: extensions.c:_gnutls_cipher_tag
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_tag
Unexecuted instantiation: key_decode.c:_gnutls_cipher_tag
Unexecuted instantiation: key_encode.c:_gnutls_cipher_tag
Unexecuted instantiation: mpi.c:_gnutls_cipher_tag
Unexecuted instantiation: ocsp.c:_gnutls_cipher_tag
Unexecuted instantiation: output.c:_gnutls_cipher_tag
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_tag
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_tag
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_tag
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_tag
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_tag
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_tag
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_tag
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_tag
Unexecuted instantiation: sign.c:_gnutls_cipher_tag
Unexecuted instantiation: time.c:_gnutls_cipher_tag
Unexecuted instantiation: tls_features.c:_gnutls_cipher_tag
Unexecuted instantiation: verify-high.c:_gnutls_cipher_tag
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_tag
Unexecuted instantiation: verify.c:_gnutls_cipher_tag
Unexecuted instantiation: virt-san.c:_gnutls_cipher_tag
Unexecuted instantiation: x509.c:_gnutls_cipher_tag
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_tag
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_tag
Unexecuted instantiation: x509_write.c:_gnutls_cipher_tag
Unexecuted instantiation: attributes.c:_gnutls_cipher_tag
Unexecuted instantiation: email-verify.c:_gnutls_cipher_tag
Unexecuted instantiation: ip.c:_gnutls_cipher_tag
Unexecuted instantiation: krb5.c:_gnutls_cipher_tag
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_tag
193
194
/* Add auth data for AUTHENC ciphers
195
 */
196
inline static int _gnutls_cipher_auth(const cipher_hd_st * handle,
197
              const void *text, size_t textlen)
198
0
{
199
0
  if (likely(handle != NULL && handle->handle != NULL)) {
200
0
    return handle->auth(handle->handle, text, textlen);
201
0
  }
202
0
  return GNUTLS_E_INTERNAL_ERROR;
203
0
}
Unexecuted instantiation: common.c:_gnutls_cipher_auth
Unexecuted instantiation: crl.c:_gnutls_cipher_auth
Unexecuted instantiation: crq.c:_gnutls_cipher_auth
Unexecuted instantiation: dn.c:_gnutls_cipher_auth
Unexecuted instantiation: extensions.c:_gnutls_cipher_auth
Unexecuted instantiation: hostname-verify.c:_gnutls_cipher_auth
Unexecuted instantiation: key_decode.c:_gnutls_cipher_auth
Unexecuted instantiation: key_encode.c:_gnutls_cipher_auth
Unexecuted instantiation: mpi.c:_gnutls_cipher_auth
Unexecuted instantiation: ocsp.c:_gnutls_cipher_auth
Unexecuted instantiation: output.c:_gnutls_cipher_auth
Unexecuted instantiation: pkcs12.c:_gnutls_cipher_auth
Unexecuted instantiation: pkcs12_bag.c:_gnutls_cipher_auth
Unexecuted instantiation: pkcs12_encr.c:_gnutls_cipher_auth
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_cipher_auth
Unexecuted instantiation: privkey_openssl.c:_gnutls_cipher_auth
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_cipher_auth
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_cipher_auth
Unexecuted instantiation: prov-seed.c:_gnutls_cipher_auth
Unexecuted instantiation: sign.c:_gnutls_cipher_auth
Unexecuted instantiation: time.c:_gnutls_cipher_auth
Unexecuted instantiation: tls_features.c:_gnutls_cipher_auth
Unexecuted instantiation: verify-high.c:_gnutls_cipher_auth
Unexecuted instantiation: verify-high2.c:_gnutls_cipher_auth
Unexecuted instantiation: verify.c:_gnutls_cipher_auth
Unexecuted instantiation: virt-san.c:_gnutls_cipher_auth
Unexecuted instantiation: x509.c:_gnutls_cipher_auth
Unexecuted instantiation: x509_dn.c:_gnutls_cipher_auth
Unexecuted instantiation: x509_ext.c:_gnutls_cipher_auth
Unexecuted instantiation: x509_write.c:_gnutls_cipher_auth
Unexecuted instantiation: attributes.c:_gnutls_cipher_auth
Unexecuted instantiation: email-verify.c:_gnutls_cipher_auth
Unexecuted instantiation: ip.c:_gnutls_cipher_auth
Unexecuted instantiation: krb5.c:_gnutls_cipher_auth
Unexecuted instantiation: name_constraints.c:_gnutls_cipher_auth
204
205
# define _gnutls_cipher_encrypt(x,y,z) _gnutls_cipher_encrypt2(x,y,z,y,z)
206
# define _gnutls_cipher_decrypt(x,y,z) _gnutls_cipher_decrypt2(x,y,z,y,z)
207
208
/* auth_cipher API. Allows combining a cipher with a MAC.
209
 */
210
211
typedef struct {
212
  cipher_hd_st cipher;
213
  union {
214
    digest_hd_st dig;
215
    mac_hd_st mac;
216
  } mac;
217
  unsigned int is_mac:1;
218
# ifdef ENABLE_SSL3
219
  unsigned int ssl_hmac:1;
220
# endif
221
# ifdef ENABLE_GOST
222
  unsigned int continuous_mac:1;
223
# endif
224
  unsigned int non_null:1;
225
  unsigned int etm:1;
226
  size_t tag_size;
227
} auth_cipher_hd_st;
228
229
int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
230
           const cipher_entry_st * e,
231
           const gnutls_datum_t * cipher_key,
232
           const gnutls_datum_t * iv,
233
           const mac_entry_st * me,
234
           const gnutls_datum_t * mac_key, unsigned etm,
235
# ifdef ENABLE_SSL3
236
           unsigned ssl_hmac,
237
# endif
238
           int enc);
239
240
int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st * handle,
241
         const void *text, int textlen);
242
243
int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
244
             const uint8_t * text, int textlen,
245
             void *ciphertext, int ciphertextlen,
246
             int pad_size);
247
int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
248
         const void *ciphertext, int ciphertextlen,
249
         void *text, int textlen);
250
int _gnutls_auth_cipher_tag(auth_cipher_hd_st * handle, void *tag,
251
          int tag_size);
252
253
inline static int _gnutls_auth_cipher_setiv(const auth_cipher_hd_st *
254
              handle, const void *iv,
255
              size_t ivlen)
256
0
{
257
0
  return _gnutls_cipher_setiv(&handle->cipher, iv, ivlen);
258
0
}
Unexecuted instantiation: common.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: crl.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: crq.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: dn.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: extensions.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: hostname-verify.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: key_decode.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: key_encode.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: mpi.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: ocsp.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: output.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: pkcs12.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: pkcs12_bag.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: pkcs12_encr.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: privkey_openssl.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: prov-seed.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: sign.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: time.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: tls_features.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: verify-high.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: verify-high2.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: verify.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: virt-san.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: x509.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: x509_dn.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: x509_ext.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: x509_write.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: attributes.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: email-verify.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: ip.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: krb5.c:_gnutls_auth_cipher_setiv
Unexecuted instantiation: name_constraints.c:_gnutls_auth_cipher_setiv
259
260
inline static size_t _gnutls_auth_cipher_tag_len(auth_cipher_hd_st * handle)
261
0
{
262
0
  return handle->tag_size;
263
0
}
Unexecuted instantiation: common.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: crl.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: crq.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: dn.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: extensions.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: hostname-verify.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: key_decode.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: key_encode.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: mpi.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: ocsp.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: output.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: pkcs12.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: pkcs12_bag.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: pkcs12_encr.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: pkcs7-crypt.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: privkey_openssl.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: privkey_pkcs8.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: prov-seed.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: sign.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: time.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: tls_features.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: verify-high.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: verify-high2.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: verify.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: virt-san.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: x509.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: x509_dn.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: x509_ext.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: x509_write.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: attributes.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: email-verify.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: ip.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: krb5.c:_gnutls_auth_cipher_tag_len
Unexecuted instantiation: name_constraints.c:_gnutls_auth_cipher_tag_len
264
265
# define _gnutls_auth_cipher_is_aead(h) _gnutls_cipher_is_aead(&(h)->cipher)
266
267
void _gnutls_auth_cipher_deinit(auth_cipher_hd_st * handle);
268
269
#endif        /* GNUTLS_LIB_CIPHER_INT_H */