Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (C) 2000-2012 Free Software Foundation, Inc. |
3 | | * Copyright (C) 2016-2017 Red Hat, Inc. |
4 | | * |
5 | | * Author: Nikos Mavrogiannopoulos |
6 | | * |
7 | | * This file is part of GnuTLS. |
8 | | * |
9 | | * The GnuTLS is free software; you can redistribute it and/or |
10 | | * modify it under the terms of the GNU Lesser General Public License |
11 | | * as published by the Free Software Foundation; either version 2.1 of |
12 | | * the License, or (at your option) any later version. |
13 | | * |
14 | | * This library is distributed in the hope that it will be useful, but |
15 | | * WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 | | * Lesser General Public License for more details. |
18 | | * |
19 | | * You should have received a copy of the GNU Lesser General Public License |
20 | | * along with this program. If not, see <https://www.gnu.org/licenses/> |
21 | | * |
22 | | */ |
23 | | |
24 | | #ifndef GNUTLS_LIB_STR_H |
25 | | #define GNUTLS_LIB_STR_H |
26 | | |
27 | | #include "config.h" |
28 | | #include "gnutls_int.h" |
29 | | #include "errors.h" |
30 | | #include "datum.h" |
31 | | #include <c-ctype.h> |
32 | | #include "errors.h" |
33 | | |
34 | | #ifdef HAVE_DCGETTEXT |
35 | | #include "gettext.h" |
36 | 0 | #define _(String) dgettext(PACKAGE, String) |
37 | | #define N_(String) gettext_noop(String) |
38 | | #else |
39 | | #define _(String) String |
40 | | #define N_(String) String |
41 | | #endif |
42 | | |
43 | | int gnutls_utf8_password_normalize(const uint8_t *password, |
44 | | unsigned password_len, gnutls_datum_t *out, |
45 | | unsigned flags); |
46 | | |
47 | | #define _gnutls_utf8_password_normalize(p, plen, out, ignore_errs) \ |
48 | 0 | gnutls_utf8_password_normalize( \ |
49 | 0 | (unsigned char *)p, plen, out, \ |
50 | 0 | ignore_errs ? (GNUTLS_UTF8_IGNORE_ERRS) : 0) |
51 | | |
52 | | int _gnutls_idna_email_map(const char *input, unsigned ilen, |
53 | | gnutls_datum_t *output); |
54 | | int _gnutls_idna_email_reverse_map(const char *input, unsigned ilen, |
55 | | gnutls_datum_t *output); |
56 | | |
57 | | inline static unsigned _gnutls_str_is_print(const char *str, unsigned size) |
58 | 0 | { |
59 | 0 | unsigned i; |
60 | 0 | for (i = 0; i < size; i++) { |
61 | 0 | if (!c_isprint(str[i])) |
62 | 0 | return 0; |
63 | 0 | } |
64 | 0 | return 1; |
65 | 0 | } Unexecuted instantiation: crypto-api.c:_gnutls_str_is_print Unexecuted instantiation: fips.c:_gnutls_str_is_print Unexecuted instantiation: safe-memfuncs.c:_gnutls_str_is_print Unexecuted instantiation: iov.c:_gnutls_str_is_print Unexecuted instantiation: ciphers.c:_gnutls_str_is_print Unexecuted instantiation: mac.c:_gnutls_str_is_print Unexecuted instantiation: errors.c:_gnutls_str_is_print Unexecuted instantiation: hash_int.c:_gnutls_str_is_print Unexecuted instantiation: cipher_int.c:_gnutls_str_is_print Unexecuted instantiation: global.c:_gnutls_str_is_print Unexecuted instantiation: mem.c:_gnutls_str_is_print Unexecuted instantiation: system.c:_gnutls_str_is_print Unexecuted instantiation: str.c:_gnutls_str_is_print Unexecuted instantiation: supplemental.c:_gnutls_str_is_print Unexecuted instantiation: random.c:_gnutls_str_is_print Unexecuted instantiation: crypto-backend.c:_gnutls_str_is_print Unexecuted instantiation: atfork.c:_gnutls_str_is_print Unexecuted instantiation: keys-dummy.c:_gnutls_str_is_print Unexecuted instantiation: accelerated.c:_gnutls_str_is_print Unexecuted instantiation: cryptodev.c:_gnutls_str_is_print Unexecuted instantiation: x86-common.c:_gnutls_str_is_print Unexecuted instantiation: cipher.c:_gnutls_str_is_print Unexecuted instantiation: gost28147.c:_gnutls_str_is_print Unexecuted instantiation: init.c:_gnutls_str_is_print Unexecuted instantiation: mpi.c:_gnutls_str_is_print Unexecuted instantiation: rnd-fuzzer.c:_gnutls_str_is_print Unexecuted instantiation: rnd.c:_gnutls_str_is_print Unexecuted instantiation: sysrng-linux.c:_gnutls_str_is_print Unexecuted instantiation: kx.c:_gnutls_str_is_print Unexecuted instantiation: priority.c:_gnutls_str_is_print Unexecuted instantiation: hello_ext.c:_gnutls_str_is_print Unexecuted instantiation: profiles.c:_gnutls_str_is_print Unexecuted instantiation: state.c:_gnutls_str_is_print Unexecuted instantiation: dtls.c:_gnutls_str_is_print Unexecuted instantiation: system_override.c:_gnutls_str_is_print Unexecuted instantiation: prf.c:_gnutls_str_is_print Unexecuted instantiation: cert-session.c:_gnutls_str_is_print Unexecuted instantiation: dtls-sw.c:_gnutls_str_is_print Unexecuted instantiation: secrets.c:_gnutls_str_is_print Unexecuted instantiation: extv.c:_gnutls_str_is_print Unexecuted instantiation: ocsp-api.c:_gnutls_str_is_print Unexecuted instantiation: ocsp.c:_gnutls_str_is_print Unexecuted instantiation: output.c:_gnutls_str_is_print Unexecuted instantiation: time.c:_gnutls_str_is_print Unexecuted instantiation: tls_features.c:_gnutls_str_is_print Unexecuted instantiation: verify-high.c:_gnutls_str_is_print Unexecuted instantiation: verify.c:_gnutls_str_is_print Unexecuted instantiation: virt-san.c:_gnutls_str_is_print Unexecuted instantiation: x509.c:_gnutls_str_is_print Unexecuted instantiation: x509_ext.c:_gnutls_str_is_print Unexecuted instantiation: alpn.c:_gnutls_str_is_print Unexecuted instantiation: client_cert_type.c:_gnutls_str_is_print Unexecuted instantiation: compress_certificate.c:_gnutls_str_is_print Unexecuted instantiation: cookie.c:_gnutls_str_is_print Unexecuted instantiation: dumbfw.c:_gnutls_str_is_print Unexecuted instantiation: early_data.c:_gnutls_str_is_print Unexecuted instantiation: ec_point_formats.c:_gnutls_str_is_print Unexecuted instantiation: etm.c:_gnutls_str_is_print Unexecuted instantiation: ext_master_secret.c:_gnutls_str_is_print Unexecuted instantiation: heartbeat.c:_gnutls_str_is_print Unexecuted instantiation: key_share.c:_gnutls_str_is_print Unexecuted instantiation: max_record.c:_gnutls_str_is_print Unexecuted instantiation: post_handshake.c:_gnutls_str_is_print Unexecuted instantiation: pre_shared_key.c:_gnutls_str_is_print Unexecuted instantiation: psk_ke_modes.c:_gnutls_str_is_print Unexecuted instantiation: record_size_limit.c:_gnutls_str_is_print Unexecuted instantiation: safe_renegotiation.c:_gnutls_str_is_print Unexecuted instantiation: server_cert_type.c:_gnutls_str_is_print Unexecuted instantiation: server_name.c:_gnutls_str_is_print Unexecuted instantiation: session_ticket.c:_gnutls_str_is_print Unexecuted instantiation: signature.c:_gnutls_str_is_print Unexecuted instantiation: srtp.c:_gnutls_str_is_print Unexecuted instantiation: status_request.c:_gnutls_str_is_print Unexecuted instantiation: supported_groups.c:_gnutls_str_is_print Unexecuted instantiation: supported_versions.c:_gnutls_str_is_print Unexecuted instantiation: cert.c:_gnutls_str_is_print Unexecuted instantiation: psk_passwd.c:_gnutls_str_is_print Unexecuted instantiation: cert_types.c:_gnutls_str_is_print Unexecuted instantiation: ciphersuites.c:_gnutls_str_is_print Unexecuted instantiation: ecc.c:_gnutls_str_is_print Unexecuted instantiation: groups.c:_gnutls_str_is_print Unexecuted instantiation: protocols.c:_gnutls_str_is_print Unexecuted instantiation: publickey.c:_gnutls_str_is_print Unexecuted instantiation: secparams.c:_gnutls_str_is_print Unexecuted instantiation: sign.c:_gnutls_str_is_print Unexecuted instantiation: aes-cbc-x86-aesni.c:_gnutls_str_is_print Unexecuted instantiation: aes-cbc-x86-ssse3.c:_gnutls_str_is_print Unexecuted instantiation: aes-ccm-x86-aesni.c:_gnutls_str_is_print Unexecuted instantiation: aes-gcm-padlock.c:_gnutls_str_is_print Unexecuted instantiation: aes-gcm-x86-aesni.c:_gnutls_str_is_print Unexecuted instantiation: aes-gcm-x86-pclmul-avx.c:_gnutls_str_is_print Unexecuted instantiation: aes-gcm-x86-pclmul.c:_gnutls_str_is_print Unexecuted instantiation: aes-gcm-x86-ssse3.c:_gnutls_str_is_print Unexecuted instantiation: aes-padlock.c:_gnutls_str_is_print Unexecuted instantiation: aes-xts-x86-aesni.c:_gnutls_str_is_print Unexecuted instantiation: hmac-padlock.c:_gnutls_str_is_print Unexecuted instantiation: hmac-x86-ssse3.c:_gnutls_str_is_print Unexecuted instantiation: sha-padlock.c:_gnutls_str_is_print Unexecuted instantiation: sha-x86-ssse3.c:_gnutls_str_is_print Unexecuted instantiation: bignum-le.c:_gnutls_str_is_print Unexecuted instantiation: pk.c:_gnutls_str_is_print Unexecuted instantiation: rsa-keygen-fips186.c:_gnutls_str_is_print Unexecuted instantiation: tls1-prf.c:_gnutls_str_is_print Unexecuted instantiation: record.c:_gnutls_str_is_print Unexecuted instantiation: debug.c:_gnutls_str_is_print Unexecuted instantiation: handshake-tls13.c:_gnutls_str_is_print Unexecuted instantiation: mbuffers.c:_gnutls_str_is_print Unexecuted instantiation: buffers.c:_gnutls_str_is_print Unexecuted instantiation: handshake.c:_gnutls_str_is_print Unexecuted instantiation: cipher-cbc.c:_gnutls_str_is_print Unexecuted instantiation: db.c:_gnutls_str_is_print Unexecuted instantiation: x509_b64.c:_gnutls_str_is_print Unexecuted instantiation: auth.c:_gnutls_str_is_print Unexecuted instantiation: sslv2_compat.c:_gnutls_str_is_print Unexecuted instantiation: datum.c:_gnutls_str_is_print Unexecuted instantiation: session_pack.c:_gnutls_str_is_print Unexecuted instantiation: cert-cred.c:_gnutls_str_is_print Unexecuted instantiation: constate.c:_gnutls_str_is_print Unexecuted instantiation: fingerprint.c:_gnutls_str_is_print Unexecuted instantiation: tls-sig.c:_gnutls_str_is_print Unexecuted instantiation: alert.c:_gnutls_str_is_print Unexecuted instantiation: threads.c:_gnutls_str_is_print Unexecuted instantiation: sockets.c:_gnutls_str_is_print Unexecuted instantiation: str-iconv.c:_gnutls_str_is_print Unexecuted instantiation: str-idna.c:_gnutls_str_is_print Unexecuted instantiation: cert-cred-x509.c:_gnutls_str_is_print Unexecuted instantiation: file.c:_gnutls_str_is_print Unexecuted instantiation: privkey.c:_gnutls_str_is_print Unexecuted instantiation: pcert.c:_gnutls_str_is_print Unexecuted instantiation: pubkey.c:_gnutls_str_is_print Unexecuted instantiation: urls.c:_gnutls_str_is_print Unexecuted instantiation: dh-session.c:_gnutls_str_is_print Unexecuted instantiation: handshake-checks.c:_gnutls_str_is_print Unexecuted instantiation: dh-primes.c:_gnutls_str_is_print Unexecuted instantiation: hello_ext_lib.c:_gnutls_str_is_print Unexecuted instantiation: stek.c:_gnutls_str_is_print Unexecuted instantiation: ktls.c:_gnutls_str_is_print Unexecuted instantiation: encrypted_extensions.c:_gnutls_str_is_print Unexecuted instantiation: certificate_request.c:_gnutls_str_is_print Unexecuted instantiation: certificate_verify.c:_gnutls_str_is_print Unexecuted instantiation: tls13-sig.c:_gnutls_str_is_print Unexecuted instantiation: finished.c:_gnutls_str_is_print Unexecuted instantiation: key_update.c:_gnutls_str_is_print Unexecuted instantiation: hello_retry.c:_gnutls_str_is_print Unexecuted instantiation: certificate.c:_gnutls_str_is_print Unexecuted instantiation: psk_ext_parser.c:_gnutls_str_is_print Unexecuted instantiation: anti_replay.c:_gnutls_str_is_print Unexecuted instantiation: common.c:_gnutls_str_is_print Unexecuted instantiation: crl.c:_gnutls_str_is_print Unexecuted instantiation: crq.c:_gnutls_str_is_print Unexecuted instantiation: dn.c:_gnutls_str_is_print Unexecuted instantiation: email-verify.c:_gnutls_str_is_print Unexecuted instantiation: extensions.c:_gnutls_str_is_print Unexecuted instantiation: hostname-verify.c:_gnutls_str_is_print Unexecuted instantiation: ip.c:_gnutls_str_is_print Unexecuted instantiation: key_decode.c:_gnutls_str_is_print Unexecuted instantiation: key_encode.c:_gnutls_str_is_print Unexecuted instantiation: krb5.c:_gnutls_str_is_print Unexecuted instantiation: name_constraints.c:_gnutls_str_is_print Unexecuted instantiation: pkcs12.c:_gnutls_str_is_print Unexecuted instantiation: pkcs12_bag.c:_gnutls_str_is_print Unexecuted instantiation: pkcs12_encr.c:_gnutls_str_is_print Unexecuted instantiation: pkcs7-crypt.c:_gnutls_str_is_print Unexecuted instantiation: privkey_openssl.c:_gnutls_str_is_print Unexecuted instantiation: privkey_pkcs8.c:_gnutls_str_is_print Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_str_is_print Unexecuted instantiation: prov-seed.c:_gnutls_str_is_print Unexecuted instantiation: verify-high2.c:_gnutls_str_is_print Unexecuted instantiation: x509_dn.c:_gnutls_str_is_print Unexecuted instantiation: x509_write.c:_gnutls_str_is_print Unexecuted instantiation: anon.c:_gnutls_str_is_print Unexecuted instantiation: anon_ecdh.c:_gnutls_str_is_print Unexecuted instantiation: dh_common.c:_gnutls_str_is_print Unexecuted instantiation: dhe.c:_gnutls_str_is_print Unexecuted instantiation: dhe_psk.c:_gnutls_str_is_print Unexecuted instantiation: ecdhe.c:_gnutls_str_is_print Unexecuted instantiation: psk.c:_gnutls_str_is_print Unexecuted instantiation: rsa.c:_gnutls_str_is_print Unexecuted instantiation: rsa_psk.c:_gnutls_str_is_print Unexecuted instantiation: vko_gost.c:_gnutls_str_is_print Unexecuted instantiation: dsa-compute-k.c:_gnutls_str_is_print Unexecuted instantiation: dsa-keygen-fips186.c:_gnutls_str_is_print Unexecuted instantiation: dsa-validate.c:_gnutls_str_is_print Unexecuted instantiation: ecdsa-compute-k.c:_gnutls_str_is_print Unexecuted instantiation: gostdsa-mask.c:_gnutls_str_is_print Unexecuted instantiation: provable-prime.c:_gnutls_str_is_print Unexecuted instantiation: compress.c:_gnutls_str_is_print Unexecuted instantiation: dh.c:_gnutls_str_is_print Unexecuted instantiation: session.c:_gnutls_str_is_print Unexecuted instantiation: certs.c:_gnutls_str_is_print Unexecuted instantiation: str-unicode.c:_gnutls_str_is_print Unexecuted instantiation: pin.c:_gnutls_str_is_print Unexecuted instantiation: pathbuf.c:_gnutls_str_is_print Unexecuted instantiation: vko.c:_gnutls_str_is_print Unexecuted instantiation: attributes.c:_gnutls_str_is_print Unexecuted instantiation: gost_keywrap.c:_gnutls_str_is_print Unexecuted instantiation: gost-wrap.c:_gnutls_str_is_print |
66 | | |
67 | | inline static unsigned _gnutls_dnsname_is_valid(const char *str, unsigned size) |
68 | 0 | { |
69 | 0 | unsigned i; |
70 | 0 | for (i = 0; i < size; i++) { |
71 | 0 | if (!(c_isalnum(str[i]) || str[i] == '-' || str[i] == '.')) |
72 | 0 | return 0; |
73 | 0 | } |
74 | 0 | return 1; |
75 | 0 | } Unexecuted instantiation: crypto-api.c:_gnutls_dnsname_is_valid Unexecuted instantiation: fips.c:_gnutls_dnsname_is_valid Unexecuted instantiation: safe-memfuncs.c:_gnutls_dnsname_is_valid Unexecuted instantiation: iov.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ciphers.c:_gnutls_dnsname_is_valid Unexecuted instantiation: mac.c:_gnutls_dnsname_is_valid Unexecuted instantiation: errors.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hash_int.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cipher_int.c:_gnutls_dnsname_is_valid Unexecuted instantiation: global.c:_gnutls_dnsname_is_valid Unexecuted instantiation: mem.c:_gnutls_dnsname_is_valid Unexecuted instantiation: system.c:_gnutls_dnsname_is_valid Unexecuted instantiation: str.c:_gnutls_dnsname_is_valid Unexecuted instantiation: supplemental.c:_gnutls_dnsname_is_valid Unexecuted instantiation: random.c:_gnutls_dnsname_is_valid Unexecuted instantiation: crypto-backend.c:_gnutls_dnsname_is_valid Unexecuted instantiation: atfork.c:_gnutls_dnsname_is_valid Unexecuted instantiation: keys-dummy.c:_gnutls_dnsname_is_valid Unexecuted instantiation: accelerated.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cryptodev.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x86-common.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cipher.c:_gnutls_dnsname_is_valid Unexecuted instantiation: gost28147.c:_gnutls_dnsname_is_valid Unexecuted instantiation: init.c:_gnutls_dnsname_is_valid Unexecuted instantiation: mpi.c:_gnutls_dnsname_is_valid Unexecuted instantiation: rnd-fuzzer.c:_gnutls_dnsname_is_valid Unexecuted instantiation: rnd.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sysrng-linux.c:_gnutls_dnsname_is_valid Unexecuted instantiation: kx.c:_gnutls_dnsname_is_valid Unexecuted instantiation: priority.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hello_ext.c:_gnutls_dnsname_is_valid Unexecuted instantiation: profiles.c:_gnutls_dnsname_is_valid Unexecuted instantiation: state.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dtls.c:_gnutls_dnsname_is_valid Unexecuted instantiation: system_override.c:_gnutls_dnsname_is_valid Unexecuted instantiation: prf.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cert-session.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dtls-sw.c:_gnutls_dnsname_is_valid Unexecuted instantiation: secrets.c:_gnutls_dnsname_is_valid Unexecuted instantiation: extv.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ocsp-api.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ocsp.c:_gnutls_dnsname_is_valid Unexecuted instantiation: output.c:_gnutls_dnsname_is_valid Unexecuted instantiation: time.c:_gnutls_dnsname_is_valid Unexecuted instantiation: tls_features.c:_gnutls_dnsname_is_valid Unexecuted instantiation: verify-high.c:_gnutls_dnsname_is_valid Unexecuted instantiation: verify.c:_gnutls_dnsname_is_valid Unexecuted instantiation: virt-san.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x509.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x509_ext.c:_gnutls_dnsname_is_valid Unexecuted instantiation: alpn.c:_gnutls_dnsname_is_valid Unexecuted instantiation: client_cert_type.c:_gnutls_dnsname_is_valid Unexecuted instantiation: compress_certificate.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cookie.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dumbfw.c:_gnutls_dnsname_is_valid Unexecuted instantiation: early_data.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ec_point_formats.c:_gnutls_dnsname_is_valid Unexecuted instantiation: etm.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ext_master_secret.c:_gnutls_dnsname_is_valid Unexecuted instantiation: heartbeat.c:_gnutls_dnsname_is_valid Unexecuted instantiation: key_share.c:_gnutls_dnsname_is_valid Unexecuted instantiation: max_record.c:_gnutls_dnsname_is_valid Unexecuted instantiation: post_handshake.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pre_shared_key.c:_gnutls_dnsname_is_valid Unexecuted instantiation: psk_ke_modes.c:_gnutls_dnsname_is_valid Unexecuted instantiation: record_size_limit.c:_gnutls_dnsname_is_valid Unexecuted instantiation: safe_renegotiation.c:_gnutls_dnsname_is_valid Unexecuted instantiation: server_cert_type.c:_gnutls_dnsname_is_valid Unexecuted instantiation: server_name.c:_gnutls_dnsname_is_valid Unexecuted instantiation: session_ticket.c:_gnutls_dnsname_is_valid Unexecuted instantiation: signature.c:_gnutls_dnsname_is_valid Unexecuted instantiation: srtp.c:_gnutls_dnsname_is_valid Unexecuted instantiation: status_request.c:_gnutls_dnsname_is_valid Unexecuted instantiation: supported_groups.c:_gnutls_dnsname_is_valid Unexecuted instantiation: supported_versions.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cert.c:_gnutls_dnsname_is_valid Unexecuted instantiation: psk_passwd.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cert_types.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ciphersuites.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ecc.c:_gnutls_dnsname_is_valid Unexecuted instantiation: groups.c:_gnutls_dnsname_is_valid Unexecuted instantiation: protocols.c:_gnutls_dnsname_is_valid Unexecuted instantiation: publickey.c:_gnutls_dnsname_is_valid Unexecuted instantiation: secparams.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sign.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-cbc-x86-aesni.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-cbc-x86-ssse3.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-ccm-x86-aesni.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-gcm-padlock.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-gcm-x86-aesni.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-gcm-x86-pclmul-avx.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-gcm-x86-pclmul.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-gcm-x86-ssse3.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-padlock.c:_gnutls_dnsname_is_valid Unexecuted instantiation: aes-xts-x86-aesni.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hmac-padlock.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hmac-x86-ssse3.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sha-padlock.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sha-x86-ssse3.c:_gnutls_dnsname_is_valid Unexecuted instantiation: bignum-le.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pk.c:_gnutls_dnsname_is_valid Unexecuted instantiation: rsa-keygen-fips186.c:_gnutls_dnsname_is_valid Unexecuted instantiation: tls1-prf.c:_gnutls_dnsname_is_valid Unexecuted instantiation: record.c:_gnutls_dnsname_is_valid Unexecuted instantiation: debug.c:_gnutls_dnsname_is_valid Unexecuted instantiation: handshake-tls13.c:_gnutls_dnsname_is_valid Unexecuted instantiation: mbuffers.c:_gnutls_dnsname_is_valid Unexecuted instantiation: buffers.c:_gnutls_dnsname_is_valid Unexecuted instantiation: handshake.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cipher-cbc.c:_gnutls_dnsname_is_valid Unexecuted instantiation: db.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x509_b64.c:_gnutls_dnsname_is_valid Unexecuted instantiation: auth.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sslv2_compat.c:_gnutls_dnsname_is_valid Unexecuted instantiation: datum.c:_gnutls_dnsname_is_valid Unexecuted instantiation: session_pack.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cert-cred.c:_gnutls_dnsname_is_valid Unexecuted instantiation: constate.c:_gnutls_dnsname_is_valid Unexecuted instantiation: fingerprint.c:_gnutls_dnsname_is_valid Unexecuted instantiation: tls-sig.c:_gnutls_dnsname_is_valid Unexecuted instantiation: alert.c:_gnutls_dnsname_is_valid Unexecuted instantiation: threads.c:_gnutls_dnsname_is_valid Unexecuted instantiation: sockets.c:_gnutls_dnsname_is_valid Unexecuted instantiation: str-iconv.c:_gnutls_dnsname_is_valid Unexecuted instantiation: str-idna.c:_gnutls_dnsname_is_valid Unexecuted instantiation: cert-cred-x509.c:_gnutls_dnsname_is_valid Unexecuted instantiation: file.c:_gnutls_dnsname_is_valid Unexecuted instantiation: privkey.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pcert.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pubkey.c:_gnutls_dnsname_is_valid Unexecuted instantiation: urls.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dh-session.c:_gnutls_dnsname_is_valid Unexecuted instantiation: handshake-checks.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dh-primes.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hello_ext_lib.c:_gnutls_dnsname_is_valid Unexecuted instantiation: stek.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ktls.c:_gnutls_dnsname_is_valid Unexecuted instantiation: encrypted_extensions.c:_gnutls_dnsname_is_valid Unexecuted instantiation: certificate_request.c:_gnutls_dnsname_is_valid Unexecuted instantiation: certificate_verify.c:_gnutls_dnsname_is_valid Unexecuted instantiation: tls13-sig.c:_gnutls_dnsname_is_valid Unexecuted instantiation: finished.c:_gnutls_dnsname_is_valid Unexecuted instantiation: key_update.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hello_retry.c:_gnutls_dnsname_is_valid Unexecuted instantiation: certificate.c:_gnutls_dnsname_is_valid Unexecuted instantiation: psk_ext_parser.c:_gnutls_dnsname_is_valid Unexecuted instantiation: anti_replay.c:_gnutls_dnsname_is_valid Unexecuted instantiation: common.c:_gnutls_dnsname_is_valid Unexecuted instantiation: crl.c:_gnutls_dnsname_is_valid Unexecuted instantiation: crq.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dn.c:_gnutls_dnsname_is_valid Unexecuted instantiation: email-verify.c:_gnutls_dnsname_is_valid Unexecuted instantiation: extensions.c:_gnutls_dnsname_is_valid Unexecuted instantiation: hostname-verify.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ip.c:_gnutls_dnsname_is_valid Unexecuted instantiation: key_decode.c:_gnutls_dnsname_is_valid Unexecuted instantiation: key_encode.c:_gnutls_dnsname_is_valid Unexecuted instantiation: krb5.c:_gnutls_dnsname_is_valid Unexecuted instantiation: name_constraints.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pkcs12.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pkcs12_bag.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pkcs12_encr.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pkcs7-crypt.c:_gnutls_dnsname_is_valid Unexecuted instantiation: privkey_openssl.c:_gnutls_dnsname_is_valid Unexecuted instantiation: privkey_pkcs8.c:_gnutls_dnsname_is_valid Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_dnsname_is_valid Unexecuted instantiation: prov-seed.c:_gnutls_dnsname_is_valid Unexecuted instantiation: verify-high2.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x509_dn.c:_gnutls_dnsname_is_valid Unexecuted instantiation: x509_write.c:_gnutls_dnsname_is_valid Unexecuted instantiation: anon.c:_gnutls_dnsname_is_valid Unexecuted instantiation: anon_ecdh.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dh_common.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dhe.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dhe_psk.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ecdhe.c:_gnutls_dnsname_is_valid Unexecuted instantiation: psk.c:_gnutls_dnsname_is_valid Unexecuted instantiation: rsa.c:_gnutls_dnsname_is_valid Unexecuted instantiation: rsa_psk.c:_gnutls_dnsname_is_valid Unexecuted instantiation: vko_gost.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dsa-compute-k.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dsa-keygen-fips186.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dsa-validate.c:_gnutls_dnsname_is_valid Unexecuted instantiation: ecdsa-compute-k.c:_gnutls_dnsname_is_valid Unexecuted instantiation: gostdsa-mask.c:_gnutls_dnsname_is_valid Unexecuted instantiation: provable-prime.c:_gnutls_dnsname_is_valid Unexecuted instantiation: compress.c:_gnutls_dnsname_is_valid Unexecuted instantiation: dh.c:_gnutls_dnsname_is_valid Unexecuted instantiation: session.c:_gnutls_dnsname_is_valid Unexecuted instantiation: certs.c:_gnutls_dnsname_is_valid Unexecuted instantiation: str-unicode.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pin.c:_gnutls_dnsname_is_valid Unexecuted instantiation: pathbuf.c:_gnutls_dnsname_is_valid Unexecuted instantiation: vko.c:_gnutls_dnsname_is_valid Unexecuted instantiation: attributes.c:_gnutls_dnsname_is_valid Unexecuted instantiation: gost_keywrap.c:_gnutls_dnsname_is_valid Unexecuted instantiation: gost-wrap.c:_gnutls_dnsname_is_valid |
76 | | |
77 | | void _gnutls_str_cpy(char *dest, size_t dest_tot_size, const char *src); |
78 | | void _gnutls_str_cat(char *dest, size_t dest_tot_size, const char *src); |
79 | | |
80 | | typedef struct gnutls_buffer_st { |
81 | | uint8_t *allocd; /* pointer to allocated data */ |
82 | | uint8_t *data; /* API: pointer to data to copy from */ |
83 | | size_t max_length; |
84 | | size_t length; /* API: current length */ |
85 | | } gnutls_buffer_st; |
86 | | |
87 | | /* Initialize a buffer */ |
88 | | void _gnutls_buffer_init(gnutls_buffer_st *); |
89 | | |
90 | | /* Free the data in a buffer */ |
91 | | void _gnutls_buffer_clear(gnutls_buffer_st *); |
92 | | |
93 | | /* Set the buffer data to be of zero length */ |
94 | | inline static void _gnutls_buffer_reset(gnutls_buffer_st *buf) |
95 | 0 | { |
96 | 0 | buf->data = buf->allocd; |
97 | 0 | buf->length = 0; |
98 | 0 | } Unexecuted instantiation: crypto-api.c:_gnutls_buffer_reset Unexecuted instantiation: fips.c:_gnutls_buffer_reset Unexecuted instantiation: safe-memfuncs.c:_gnutls_buffer_reset Unexecuted instantiation: iov.c:_gnutls_buffer_reset Unexecuted instantiation: ciphers.c:_gnutls_buffer_reset Unexecuted instantiation: mac.c:_gnutls_buffer_reset Unexecuted instantiation: errors.c:_gnutls_buffer_reset Unexecuted instantiation: hash_int.c:_gnutls_buffer_reset Unexecuted instantiation: cipher_int.c:_gnutls_buffer_reset Unexecuted instantiation: global.c:_gnutls_buffer_reset Unexecuted instantiation: mem.c:_gnutls_buffer_reset Unexecuted instantiation: system.c:_gnutls_buffer_reset Unexecuted instantiation: str.c:_gnutls_buffer_reset Unexecuted instantiation: supplemental.c:_gnutls_buffer_reset Unexecuted instantiation: random.c:_gnutls_buffer_reset Unexecuted instantiation: crypto-backend.c:_gnutls_buffer_reset Unexecuted instantiation: atfork.c:_gnutls_buffer_reset Unexecuted instantiation: keys-dummy.c:_gnutls_buffer_reset Unexecuted instantiation: accelerated.c:_gnutls_buffer_reset Unexecuted instantiation: cryptodev.c:_gnutls_buffer_reset Unexecuted instantiation: x86-common.c:_gnutls_buffer_reset Unexecuted instantiation: cipher.c:_gnutls_buffer_reset Unexecuted instantiation: gost28147.c:_gnutls_buffer_reset Unexecuted instantiation: init.c:_gnutls_buffer_reset Unexecuted instantiation: mpi.c:_gnutls_buffer_reset Unexecuted instantiation: rnd-fuzzer.c:_gnutls_buffer_reset Unexecuted instantiation: rnd.c:_gnutls_buffer_reset Unexecuted instantiation: sysrng-linux.c:_gnutls_buffer_reset Unexecuted instantiation: kx.c:_gnutls_buffer_reset Unexecuted instantiation: priority.c:_gnutls_buffer_reset Unexecuted instantiation: hello_ext.c:_gnutls_buffer_reset Unexecuted instantiation: profiles.c:_gnutls_buffer_reset Unexecuted instantiation: state.c:_gnutls_buffer_reset Unexecuted instantiation: dtls.c:_gnutls_buffer_reset Unexecuted instantiation: system_override.c:_gnutls_buffer_reset Unexecuted instantiation: prf.c:_gnutls_buffer_reset Unexecuted instantiation: cert-session.c:_gnutls_buffer_reset Unexecuted instantiation: dtls-sw.c:_gnutls_buffer_reset Unexecuted instantiation: secrets.c:_gnutls_buffer_reset Unexecuted instantiation: extv.c:_gnutls_buffer_reset Unexecuted instantiation: ocsp-api.c:_gnutls_buffer_reset Unexecuted instantiation: ocsp.c:_gnutls_buffer_reset Unexecuted instantiation: output.c:_gnutls_buffer_reset Unexecuted instantiation: time.c:_gnutls_buffer_reset Unexecuted instantiation: tls_features.c:_gnutls_buffer_reset Unexecuted instantiation: verify-high.c:_gnutls_buffer_reset Unexecuted instantiation: verify.c:_gnutls_buffer_reset Unexecuted instantiation: virt-san.c:_gnutls_buffer_reset Unexecuted instantiation: x509.c:_gnutls_buffer_reset Unexecuted instantiation: x509_ext.c:_gnutls_buffer_reset Unexecuted instantiation: alpn.c:_gnutls_buffer_reset Unexecuted instantiation: client_cert_type.c:_gnutls_buffer_reset Unexecuted instantiation: compress_certificate.c:_gnutls_buffer_reset Unexecuted instantiation: cookie.c:_gnutls_buffer_reset Unexecuted instantiation: dumbfw.c:_gnutls_buffer_reset Unexecuted instantiation: early_data.c:_gnutls_buffer_reset Unexecuted instantiation: ec_point_formats.c:_gnutls_buffer_reset Unexecuted instantiation: etm.c:_gnutls_buffer_reset Unexecuted instantiation: ext_master_secret.c:_gnutls_buffer_reset Unexecuted instantiation: heartbeat.c:_gnutls_buffer_reset Unexecuted instantiation: key_share.c:_gnutls_buffer_reset Unexecuted instantiation: max_record.c:_gnutls_buffer_reset Unexecuted instantiation: post_handshake.c:_gnutls_buffer_reset Unexecuted instantiation: pre_shared_key.c:_gnutls_buffer_reset Unexecuted instantiation: psk_ke_modes.c:_gnutls_buffer_reset Unexecuted instantiation: record_size_limit.c:_gnutls_buffer_reset Unexecuted instantiation: safe_renegotiation.c:_gnutls_buffer_reset Unexecuted instantiation: server_cert_type.c:_gnutls_buffer_reset Unexecuted instantiation: server_name.c:_gnutls_buffer_reset Unexecuted instantiation: session_ticket.c:_gnutls_buffer_reset Unexecuted instantiation: signature.c:_gnutls_buffer_reset Unexecuted instantiation: srtp.c:_gnutls_buffer_reset Unexecuted instantiation: status_request.c:_gnutls_buffer_reset Unexecuted instantiation: supported_groups.c:_gnutls_buffer_reset Unexecuted instantiation: supported_versions.c:_gnutls_buffer_reset Unexecuted instantiation: cert.c:_gnutls_buffer_reset Unexecuted instantiation: psk_passwd.c:_gnutls_buffer_reset Unexecuted instantiation: cert_types.c:_gnutls_buffer_reset Unexecuted instantiation: ciphersuites.c:_gnutls_buffer_reset Unexecuted instantiation: ecc.c:_gnutls_buffer_reset Unexecuted instantiation: groups.c:_gnutls_buffer_reset Unexecuted instantiation: protocols.c:_gnutls_buffer_reset Unexecuted instantiation: publickey.c:_gnutls_buffer_reset Unexecuted instantiation: secparams.c:_gnutls_buffer_reset Unexecuted instantiation: sign.c:_gnutls_buffer_reset Unexecuted instantiation: aes-cbc-x86-aesni.c:_gnutls_buffer_reset Unexecuted instantiation: aes-cbc-x86-ssse3.c:_gnutls_buffer_reset Unexecuted instantiation: aes-ccm-x86-aesni.c:_gnutls_buffer_reset Unexecuted instantiation: aes-gcm-padlock.c:_gnutls_buffer_reset Unexecuted instantiation: aes-gcm-x86-aesni.c:_gnutls_buffer_reset Unexecuted instantiation: aes-gcm-x86-pclmul-avx.c:_gnutls_buffer_reset Unexecuted instantiation: aes-gcm-x86-pclmul.c:_gnutls_buffer_reset Unexecuted instantiation: aes-gcm-x86-ssse3.c:_gnutls_buffer_reset Unexecuted instantiation: aes-padlock.c:_gnutls_buffer_reset Unexecuted instantiation: aes-xts-x86-aesni.c:_gnutls_buffer_reset Unexecuted instantiation: hmac-padlock.c:_gnutls_buffer_reset Unexecuted instantiation: hmac-x86-ssse3.c:_gnutls_buffer_reset Unexecuted instantiation: sha-padlock.c:_gnutls_buffer_reset Unexecuted instantiation: sha-x86-ssse3.c:_gnutls_buffer_reset Unexecuted instantiation: bignum-le.c:_gnutls_buffer_reset Unexecuted instantiation: pk.c:_gnutls_buffer_reset Unexecuted instantiation: rsa-keygen-fips186.c:_gnutls_buffer_reset Unexecuted instantiation: tls1-prf.c:_gnutls_buffer_reset Unexecuted instantiation: record.c:_gnutls_buffer_reset Unexecuted instantiation: debug.c:_gnutls_buffer_reset Unexecuted instantiation: handshake-tls13.c:_gnutls_buffer_reset Unexecuted instantiation: mbuffers.c:_gnutls_buffer_reset Unexecuted instantiation: buffers.c:_gnutls_buffer_reset Unexecuted instantiation: handshake.c:_gnutls_buffer_reset Unexecuted instantiation: cipher-cbc.c:_gnutls_buffer_reset Unexecuted instantiation: db.c:_gnutls_buffer_reset Unexecuted instantiation: x509_b64.c:_gnutls_buffer_reset Unexecuted instantiation: auth.c:_gnutls_buffer_reset Unexecuted instantiation: sslv2_compat.c:_gnutls_buffer_reset Unexecuted instantiation: datum.c:_gnutls_buffer_reset Unexecuted instantiation: session_pack.c:_gnutls_buffer_reset Unexecuted instantiation: cert-cred.c:_gnutls_buffer_reset Unexecuted instantiation: constate.c:_gnutls_buffer_reset Unexecuted instantiation: fingerprint.c:_gnutls_buffer_reset Unexecuted instantiation: tls-sig.c:_gnutls_buffer_reset Unexecuted instantiation: alert.c:_gnutls_buffer_reset Unexecuted instantiation: threads.c:_gnutls_buffer_reset Unexecuted instantiation: sockets.c:_gnutls_buffer_reset Unexecuted instantiation: str-iconv.c:_gnutls_buffer_reset Unexecuted instantiation: str-idna.c:_gnutls_buffer_reset Unexecuted instantiation: cert-cred-x509.c:_gnutls_buffer_reset Unexecuted instantiation: file.c:_gnutls_buffer_reset Unexecuted instantiation: privkey.c:_gnutls_buffer_reset Unexecuted instantiation: pcert.c:_gnutls_buffer_reset Unexecuted instantiation: pubkey.c:_gnutls_buffer_reset Unexecuted instantiation: urls.c:_gnutls_buffer_reset Unexecuted instantiation: dh-session.c:_gnutls_buffer_reset Unexecuted instantiation: handshake-checks.c:_gnutls_buffer_reset Unexecuted instantiation: dh-primes.c:_gnutls_buffer_reset Unexecuted instantiation: hello_ext_lib.c:_gnutls_buffer_reset Unexecuted instantiation: stek.c:_gnutls_buffer_reset Unexecuted instantiation: ktls.c:_gnutls_buffer_reset Unexecuted instantiation: encrypted_extensions.c:_gnutls_buffer_reset Unexecuted instantiation: certificate_request.c:_gnutls_buffer_reset Unexecuted instantiation: certificate_verify.c:_gnutls_buffer_reset Unexecuted instantiation: tls13-sig.c:_gnutls_buffer_reset Unexecuted instantiation: finished.c:_gnutls_buffer_reset Unexecuted instantiation: key_update.c:_gnutls_buffer_reset Unexecuted instantiation: hello_retry.c:_gnutls_buffer_reset Unexecuted instantiation: certificate.c:_gnutls_buffer_reset Unexecuted instantiation: psk_ext_parser.c:_gnutls_buffer_reset Unexecuted instantiation: anti_replay.c:_gnutls_buffer_reset Unexecuted instantiation: common.c:_gnutls_buffer_reset Unexecuted instantiation: crl.c:_gnutls_buffer_reset Unexecuted instantiation: crq.c:_gnutls_buffer_reset Unexecuted instantiation: dn.c:_gnutls_buffer_reset Unexecuted instantiation: email-verify.c:_gnutls_buffer_reset Unexecuted instantiation: extensions.c:_gnutls_buffer_reset Unexecuted instantiation: hostname-verify.c:_gnutls_buffer_reset Unexecuted instantiation: ip.c:_gnutls_buffer_reset Unexecuted instantiation: key_decode.c:_gnutls_buffer_reset Unexecuted instantiation: key_encode.c:_gnutls_buffer_reset Unexecuted instantiation: krb5.c:_gnutls_buffer_reset Unexecuted instantiation: name_constraints.c:_gnutls_buffer_reset Unexecuted instantiation: pkcs12.c:_gnutls_buffer_reset Unexecuted instantiation: pkcs12_bag.c:_gnutls_buffer_reset Unexecuted instantiation: pkcs12_encr.c:_gnutls_buffer_reset Unexecuted instantiation: pkcs7-crypt.c:_gnutls_buffer_reset Unexecuted instantiation: privkey_openssl.c:_gnutls_buffer_reset Unexecuted instantiation: privkey_pkcs8.c:_gnutls_buffer_reset Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_buffer_reset Unexecuted instantiation: prov-seed.c:_gnutls_buffer_reset Unexecuted instantiation: verify-high2.c:_gnutls_buffer_reset Unexecuted instantiation: x509_dn.c:_gnutls_buffer_reset Unexecuted instantiation: x509_write.c:_gnutls_buffer_reset Unexecuted instantiation: anon.c:_gnutls_buffer_reset Unexecuted instantiation: anon_ecdh.c:_gnutls_buffer_reset Unexecuted instantiation: dh_common.c:_gnutls_buffer_reset Unexecuted instantiation: dhe.c:_gnutls_buffer_reset Unexecuted instantiation: dhe_psk.c:_gnutls_buffer_reset Unexecuted instantiation: ecdhe.c:_gnutls_buffer_reset Unexecuted instantiation: psk.c:_gnutls_buffer_reset Unexecuted instantiation: rsa.c:_gnutls_buffer_reset Unexecuted instantiation: rsa_psk.c:_gnutls_buffer_reset Unexecuted instantiation: vko_gost.c:_gnutls_buffer_reset Unexecuted instantiation: dsa-compute-k.c:_gnutls_buffer_reset Unexecuted instantiation: dsa-keygen-fips186.c:_gnutls_buffer_reset Unexecuted instantiation: dsa-validate.c:_gnutls_buffer_reset Unexecuted instantiation: ecdsa-compute-k.c:_gnutls_buffer_reset Unexecuted instantiation: gostdsa-mask.c:_gnutls_buffer_reset Unexecuted instantiation: provable-prime.c:_gnutls_buffer_reset Unexecuted instantiation: compress.c:_gnutls_buffer_reset Unexecuted instantiation: dh.c:_gnutls_buffer_reset Unexecuted instantiation: session.c:_gnutls_buffer_reset Unexecuted instantiation: certs.c:_gnutls_buffer_reset Unexecuted instantiation: str-unicode.c:_gnutls_buffer_reset Unexecuted instantiation: pin.c:_gnutls_buffer_reset Unexecuted instantiation: pathbuf.c:_gnutls_buffer_reset Unexecuted instantiation: vko.c:_gnutls_buffer_reset Unexecuted instantiation: attributes.c:_gnutls_buffer_reset Unexecuted instantiation: gost_keywrap.c:_gnutls_buffer_reset Unexecuted instantiation: gost-wrap.c:_gnutls_buffer_reset |
99 | | |
100 | | int _gnutls_buffer_resize(gnutls_buffer_st *, size_t new_size); |
101 | | |
102 | | int _gnutls_buffer_append_str(gnutls_buffer_st *, const char *str); |
103 | | |
104 | 0 | #define _gnutls_buffer_append_data gnutls_buffer_append_data |
105 | | |
106 | | #include "num.h" |
107 | | |
108 | | int _gnutls_buffer_append_prefix(gnutls_buffer_st *buf, int pfx_size, |
109 | | size_t data_size); |
110 | | |
111 | | int _gnutls_buffer_append_mpi(gnutls_buffer_st *buf, int pfx_size, bigint_t, |
112 | | int lz); |
113 | | |
114 | | int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st *buf, bigint_t mpi, |
115 | | unsigned size); |
116 | | |
117 | | int _gnutls_buffer_append_data_prefix(gnutls_buffer_st *buf, int pfx_size, |
118 | | const void *data, size_t data_size); |
119 | | int _gnutls_buffer_pop_data(gnutls_buffer_st *, void *, size_t size); |
120 | | void _gnutls_buffer_pop_datum(gnutls_buffer_st *, gnutls_datum_t *, |
121 | | size_t max_size); |
122 | | |
123 | | /* 32-bit prefix */ |
124 | | int _gnutls_buffer_pop_prefix32(gnutls_buffer_st *buf, size_t *data_size, |
125 | | int check); |
126 | | int _gnutls_buffer_pop_prefix24(gnutls_buffer_st *buf, size_t *data_size, |
127 | | int check); |
128 | | int _gnutls_buffer_pop_prefix16(gnutls_buffer_st *buf, size_t *data_size, |
129 | | int check); |
130 | | int _gnutls_buffer_pop_prefix8(gnutls_buffer_st *, uint8_t *, int check); |
131 | | |
132 | | /* 32-bit prefix */ |
133 | | int _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st *buf, |
134 | | gnutls_datum_t *data); |
135 | | |
136 | | /* 24-bit prefix */ |
137 | | int _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st *buf, |
138 | | gnutls_datum_t *data); |
139 | | |
140 | | /* 16-bit prefix */ |
141 | | int _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st *buf, |
142 | | gnutls_datum_t *data); |
143 | | |
144 | | /* 8-bit prefix */ |
145 | | int _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st *buf, |
146 | | gnutls_datum_t *data); |
147 | | |
148 | | int _gnutls_buffer_to_datum(gnutls_buffer_st *str, gnutls_datum_t *data, |
149 | | unsigned is_str); |
150 | | |
151 | | inline static void _gnutls_ro_buffer_from_datum(gnutls_buffer_st *str, |
152 | | gnutls_datum_t *data) |
153 | 0 | { |
154 | 0 | _gnutls_buffer_init(str); |
155 | 0 | str->length = data->size; |
156 | 0 | str->max_length = data->size; |
157 | 0 | str->data = data->data; |
158 | 0 | } Unexecuted instantiation: crypto-api.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: fips.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: safe-memfuncs.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: iov.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ciphers.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: mac.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: errors.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hash_int.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cipher_int.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: global.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: mem.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: system.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: str.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: supplemental.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: random.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: crypto-backend.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: atfork.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: keys-dummy.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: accelerated.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cryptodev.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x86-common.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cipher.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: gost28147.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: init.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: mpi.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: rnd-fuzzer.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: rnd.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sysrng-linux.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: kx.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: priority.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hello_ext.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: profiles.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: state.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dtls.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: system_override.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: prf.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cert-session.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dtls-sw.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: secrets.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: extv.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ocsp-api.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ocsp.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: output.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: time.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: tls_features.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: verify-high.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: verify.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: virt-san.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x509.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x509_ext.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: alpn.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: client_cert_type.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: compress_certificate.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cookie.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dumbfw.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: early_data.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ec_point_formats.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: etm.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ext_master_secret.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: heartbeat.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: key_share.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: max_record.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: post_handshake.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pre_shared_key.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: psk_ke_modes.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: record_size_limit.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: safe_renegotiation.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: server_cert_type.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: server_name.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: session_ticket.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: signature.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: srtp.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: status_request.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: supported_groups.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: supported_versions.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cert.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: psk_passwd.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cert_types.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ciphersuites.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ecc.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: groups.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: protocols.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: publickey.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: secparams.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sign.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-cbc-x86-aesni.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-cbc-x86-ssse3.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-ccm-x86-aesni.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-gcm-padlock.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-gcm-x86-aesni.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-gcm-x86-pclmul-avx.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-gcm-x86-pclmul.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-gcm-x86-ssse3.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-padlock.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: aes-xts-x86-aesni.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hmac-padlock.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hmac-x86-ssse3.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sha-padlock.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sha-x86-ssse3.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: bignum-le.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pk.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: rsa-keygen-fips186.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: tls1-prf.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: record.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: debug.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: handshake-tls13.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: mbuffers.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: buffers.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: handshake.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cipher-cbc.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: db.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x509_b64.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: auth.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sslv2_compat.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: datum.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: session_pack.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cert-cred.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: constate.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: fingerprint.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: tls-sig.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: alert.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: threads.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: sockets.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: str-iconv.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: str-idna.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: cert-cred-x509.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: file.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: privkey.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pcert.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pubkey.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: urls.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dh-session.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: handshake-checks.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dh-primes.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hello_ext_lib.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: stek.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ktls.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: encrypted_extensions.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: certificate_request.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: certificate_verify.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: tls13-sig.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: finished.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: key_update.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hello_retry.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: certificate.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: psk_ext_parser.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: anti_replay.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: common.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: crl.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: crq.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dn.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: email-verify.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: extensions.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: hostname-verify.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ip.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: key_decode.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: key_encode.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: krb5.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: name_constraints.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pkcs12.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pkcs12_bag.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pkcs12_encr.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pkcs7-crypt.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: privkey_openssl.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: privkey_pkcs8.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: privkey_pkcs8_pbes1.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: prov-seed.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: verify-high2.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x509_dn.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: x509_write.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: anon.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: anon_ecdh.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dh_common.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dhe.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dhe_psk.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ecdhe.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: psk.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: rsa.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: rsa_psk.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: vko_gost.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dsa-compute-k.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dsa-keygen-fips186.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dsa-validate.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: ecdsa-compute-k.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: gostdsa-mask.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: provable-prime.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: compress.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: dh.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: session.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: certs.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: str-unicode.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pin.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: pathbuf.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: vko.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: attributes.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: gost_keywrap.c:_gnutls_ro_buffer_from_datum Unexecuted instantiation: gost-wrap.c:_gnutls_ro_buffer_from_datum |
159 | | |
160 | | int _gnutls_buffer_append_escape(gnutls_buffer_st *dest, const void *data, |
161 | | size_t data_size, const char *invalid_chars); |
162 | | int _gnutls_buffer_unescape(gnutls_buffer_st *dest); |
163 | | |
164 | | #ifndef __attribute__ |
165 | | /* This feature is available in gcc versions 2.5 and later. */ |
166 | | #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) |
167 | | #define __attribute__(Spec) /* empty */ |
168 | | #endif |
169 | | #endif |
170 | | |
171 | | int _gnutls_buffer_append_printf(gnutls_buffer_st *dest, const char *fmt, ...) |
172 | | __attribute__((format(printf, 2, 3))); |
173 | | |
174 | | void _gnutls_buffer_hexprint(gnutls_buffer_st *str, const void *data, |
175 | | size_t len); |
176 | | int _gnutls_buffer_base64print(gnutls_buffer_st *str, const void *data, |
177 | | size_t len); |
178 | | void _gnutls_buffer_hexdump(gnutls_buffer_st *str, const void *data, size_t len, |
179 | | const char *spc); |
180 | | void _gnutls_buffer_asciiprint(gnutls_buffer_st *str, const char *data, |
181 | | size_t len); |
182 | | |
183 | | char *_gnutls_bin2hex(const void *old, size_t oldlen, char *buffer, |
184 | | size_t buffer_size, const char *separator); |
185 | | int _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t *bin_data, |
186 | | size_t *bin_size); |
187 | | |
188 | | int _gnutls_hostname_compare(const char *certname, size_t certnamesize, |
189 | | const char *hostname, unsigned vflags); |
190 | | |
191 | | #define MAX_CN 256 |
192 | | #define MAX_DN 1024 |
193 | | |
194 | | #define BUFFER_APPEND(b, x, s) \ |
195 | 0 | { \ |
196 | 0 | ret = _gnutls_buffer_append_data(b, x, s); \ |
197 | 0 | if (ret < 0) { \ |
198 | 0 | gnutls_assert(); \ |
199 | 0 | return ret; \ |
200 | 0 | } \ |
201 | 0 | } |
202 | | |
203 | | /* append data prefixed with 4-bytes length field*/ |
204 | | #define BUFFER_APPEND_PFX4(b, x, s) \ |
205 | 0 | { \ |
206 | 0 | ret = _gnutls_buffer_append_data_prefix(b, 32, x, s); \ |
207 | 0 | if (ret < 0) { \ |
208 | 0 | gnutls_assert(); \ |
209 | 0 | return ret; \ |
210 | 0 | } \ |
211 | 0 | } |
212 | | |
213 | | #define BUFFER_APPEND_PFX3(b, x, s) \ |
214 | | { \ |
215 | | ret = _gnutls_buffer_append_data_prefix(b, 24, x, s); \ |
216 | | if (ret < 0) { \ |
217 | | gnutls_assert(); \ |
218 | | return ret; \ |
219 | | } \ |
220 | | } |
221 | | |
222 | | #define BUFFER_APPEND_PFX2(b, x, s) \ |
223 | | { \ |
224 | | ret = _gnutls_buffer_append_data_prefix(b, 16, x, s); \ |
225 | | if (ret < 0) { \ |
226 | | gnutls_assert(); \ |
227 | | return ret; \ |
228 | | } \ |
229 | | } |
230 | | |
231 | | #define BUFFER_APPEND_PFX1(b, x, s) \ |
232 | 0 | { \ |
233 | 0 | ret = _gnutls_buffer_append_data_prefix(b, 8, x, s); \ |
234 | 0 | if (ret < 0) { \ |
235 | 0 | gnutls_assert(); \ |
236 | 0 | return ret; \ |
237 | 0 | } \ |
238 | 0 | } |
239 | | |
240 | | #define BUFFER_APPEND_NUM(b, s) \ |
241 | 0 | { \ |
242 | 0 | ret = _gnutls_buffer_append_prefix(b, 32, s); \ |
243 | 0 | if (ret < 0) { \ |
244 | 0 | gnutls_assert(); \ |
245 | 0 | return ret; \ |
246 | 0 | } \ |
247 | 0 | } |
248 | | |
249 | | #define BUFFER_APPEND_TS(b, s) \ |
250 | 0 | { \ |
251 | 0 | ret = _gnutls_buffer_append_prefix(b, 32, \ |
252 | 0 | (uint64_t)s.tv_sec >> 32); \ |
253 | 0 | if (ret < 0) { \ |
254 | 0 | gnutls_assert(); \ |
255 | 0 | return ret; \ |
256 | 0 | } \ |
257 | 0 | ret = _gnutls_buffer_append_prefix(b, 32, \ |
258 | 0 | s.tv_sec & 0xFFFFFFFF); \ |
259 | 0 | if (ret < 0) { \ |
260 | 0 | gnutls_assert(); \ |
261 | 0 | return ret; \ |
262 | 0 | } \ |
263 | 0 | ret = _gnutls_buffer_append_prefix(b, 32, s.tv_nsec); \ |
264 | 0 | if (ret < 0) { \ |
265 | 0 | gnutls_assert(); \ |
266 | 0 | return ret; \ |
267 | 0 | } \ |
268 | 0 | } |
269 | | |
270 | | #define BUFFER_POP(b, x, s) \ |
271 | 0 | { \ |
272 | 0 | ret = _gnutls_buffer_pop_data(b, x, s); \ |
273 | 0 | if (ret < 0) { \ |
274 | 0 | ret = GNUTLS_E_PARSING_ERROR; \ |
275 | 0 | gnutls_assert(); \ |
276 | 0 | goto error; \ |
277 | 0 | } \ |
278 | 0 | } |
279 | | |
280 | | #define BUFFER_POP_DATUM(b, o) \ |
281 | 0 | { \ |
282 | 0 | gnutls_datum_t d; \ |
283 | 0 | ret = _gnutls_buffer_pop_datum_prefix32(b, &d); \ |
284 | 0 | if (ret >= 0) \ |
285 | 0 | ret = _gnutls_set_datum(o, d.data, d.size); \ |
286 | 0 | if (ret < 0) { \ |
287 | 0 | gnutls_assert(); \ |
288 | 0 | goto error; \ |
289 | 0 | } \ |
290 | 0 | } |
291 | | |
292 | | #define BUFFER_POP_NUM(b, o) \ |
293 | 0 | { \ |
294 | 0 | size_t s; \ |
295 | 0 | ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \ |
296 | 0 | if (ret < 0) { \ |
297 | 0 | gnutls_assert(); \ |
298 | 0 | goto error; \ |
299 | 0 | } \ |
300 | 0 | o = s; \ |
301 | 0 | } |
302 | | |
303 | | #define BUFFER_POP_CAST_NUM(b, o) \ |
304 | | { \ |
305 | | size_t s; \ |
306 | | ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \ |
307 | | if (ret < 0) { \ |
308 | | gnutls_assert(); \ |
309 | | goto error; \ |
310 | | } \ |
311 | | o = (void *)(intptr_t)(s); \ |
312 | | } |
313 | | |
314 | | #define BUFFER_POP_TS(b, o) \ |
315 | 0 | { \ |
316 | 0 | size_t s; \ |
317 | 0 | uint64_t v; \ |
318 | 0 | ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \ |
319 | 0 | if (ret < 0) { \ |
320 | 0 | gnutls_assert(); \ |
321 | 0 | goto error; \ |
322 | 0 | } \ |
323 | 0 | v = s; \ |
324 | 0 | ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \ |
325 | 0 | if (ret < 0) { \ |
326 | 0 | gnutls_assert(); \ |
327 | 0 | goto error; \ |
328 | 0 | } \ |
329 | 0 | v = (v << 32) | s; \ |
330 | 0 | ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \ |
331 | 0 | if (ret < 0) { \ |
332 | 0 | gnutls_assert(); \ |
333 | 0 | goto error; \ |
334 | 0 | } \ |
335 | 0 | o.tv_sec = v; \ |
336 | 0 | o.tv_nsec = s; \ |
337 | 0 | } |
338 | | |
339 | | #endif /* GNUTLS_LIB_STR_H */ |